Как PHP отправляет почту с помощью mail() без sendmail?

Итак, у меня есть простой скрипт, который отправляет электронное письмо через почтовую функцию PHP, например:

<?php mail('[email protected]', 'Subject', 'This is a message', array('From' => '[email protected]', 'To' => '[email protected]', 'Subject' => 'This is a message')); ?>

Он отлично работает при запуске на Synology DS212j (NAS на базе Linux, использующем BusyBox для большинства распространенных команд оболочки), однако, насколько я могу судить, я нигде не могу найти ни одного экземпляра sendmail, а BusyBox sendmail — нет. включено. На самом деле, если я использую ini_get("sendmail_path"), возвращается значение " -t -i".

Есть переменная окружения MAIL=/var/mail/root, но она тоже ничего не делает (нет /var/mail).

Так что я в полной растерянности относительно того, как PHP на самом деле отправляет свою электронную почту, поэтому я надеюсь, что кто-то может знать. У меня возникли проблемы с прохождением sendmail для PHP на другой платформе (в той же сети, вздох), поэтому, если я смогу использовать тот же механизм, что и мой NAS, это может упростить задачу.


person Haravikk    schedule 20.11.2014    source источник
comment
sendmail не единственная почтовая программа. postfix/exim создаст символическую ссылку sendmail на свои собственные двоичные файлы для совместимости с приложениями, в которых жестко закодировано предположение, что вся электронная почта проходит через sendmail.   -  person Marc B    schedule 21.11.2014


Ответы (1)