Я много пытался искать, но не смог найти, как на самом деле настроить сервер ubuntu, чтобы я мог отправлять почту через php, используя функцию mail () в php.
У меня на сервере установлены apache2, mysql и php5.
Спасибо.
Я также согласен, что не хватает руководств для людей, которым просто нужен сценарий для отправки, например сообщения об ошибках, и не нужен полноценный почтовый сервер.
Во-первых, если postfix еще не установлен, выполните:
sudo apt-get install postfix
Это наводит на пару вопросов. Для первого выбрал «Интернет-сайт»; для машины за брандмауэром я мог бы выбрать вместо этого smarthost. Для второго вопроса по умолчанию используется имя машины; Я добавил доменное имя, которое я контролирую (так что я могу установить для него DNS позже, если мне нужно).
На этом этапе вы должны иметь возможность использовать «почту» из командной строки для отправки теста. (Обычно я следую инструкциям на http://ubuntuforums.org/showthread.php?t=38429 сначала, иначе мне придется использовать -f
флаг /usr/bin/sendmail
. Я также люблю создавать /etc/aliases
с записями для root и моего обычного пользователя, а затем запустите newaliases
)
Затем в /etc/php5/conf.d создайте файл (например, mailconfig.ini) с таким содержимым:
sendmail_from = "me@example.com"
sendmail_path = "/usr/sbin/sendmail -t -i -f me@example.com"
Измените me@example.com на свой адрес электронной почты. Они означают, что все электронные письма будут выглядеть так, как будто они отправлены вами, что может помочь предотвратить их отклонение. Этого достаточно для отправки разработчику сообщений об ошибках.
(Приведенные выше инструкции протестированы на Ubuntu 10.04, 11.04, 11.10, 12.04)
P.S. Как указано в комментариях, mail
присутствует не всегда (например, в Ubuntu 11.10 он отсутствует). На самом деле это не влияет на приведенные выше инструкции, вам нужно только mail
для теста, и вы можете использовать sendmail
как раз для этого. Но mail
также полезен для чтения электронной почты, поэтому обычно стоит установить его с помощью: apt-get install mailutils
(как root).
Вам нужно будет настроить сервер ubuntu, чтобы иметь возможность отправлять почту ... например, вы можете установить и настроить postfix.
В документации Ubuntu есть хорошая страница по адресу https://help.ubuntu.com/community/MailServer
Либо пройдите через болезненный процесс настройки почтового сервера прямо на вашем сервере (postfix и т. Д.), Либо используйте библиотеку, которая позволит вам напрямую подключаться к SMTP-серверу.
Сначала вы должны установить пакет xmail, и если он по-прежнему не работает, посмотрите здесь.