Настройка компьютера с Ubuntu / Apache / PHP для отправки электронной почты - PullRequest
35 голосов
/ 18 октября 2011

Я работаю в небольшой компании в Хошимине, единственным сервером которой был только один старый маленький компьютер. Теперь, спустя всего несколько месяцев, мы быстро расширяемся, и одно из требований для новых пользователей - требовать от них подтверждения своих адресов электронной почты.

В Ubuntu нет специальных программ, вместо этого единственное, что я сделал на настоящем сервере, - переформатировал весь жесткий диск из Windows XP и установил на него Natty Narwhal, затем установил Apache и PHPMYADMIN.

Я бы хотел, чтобы PHP отправил электронное письмо как пользователю, так и администраторам, как только кто-то подаст заявку на членство. Но я понятия не имею, что мне нужно сделать, чтобы начать.

Любые идеи о том, что мне нужно настроить в первую очередь, будут смиренно оценены; Я не ищу шаг за шагом, просто несколько советов, которые укажут мне правильное направление.

-Дуонг Ван

Ответы [ 5 ]

72 голосов
/ 18 октября 2011

sudo apt-get install sendmail установит копию sendmail, которая прослушивает локально. Если вы установите это, то php может использовать встроенную функцию mail(). Также не будет риска стать удаленным ретранслятором, если вы установите так же.

Если вы планируете отправлять почту на другие интернет-домены, вам необходимо убедиться, что на IP-адресе аппарата, отправляющего почту, также настроена обратная запись DNS (запись PTR). Большинство крупных интернет-провайдеров отклонят вашу почту, если ваш IP не имеет записи PTR или той, которая указывает на общий хост (например, 1.2.3.3.domain.isp.com). Это должно измениться на что-то вроде mail.yourdomain.com

13 голосов
/ 18 октября 2011

Встроенная функция почты - хорошая встроенная опция.

Функция mail является частью ядра PHP, но она требует, чтобы sendmail был установлен на сервере.

Я полагаю, что sendmail уже может быть установлен с пакетами, которые вы уже выбрали, но вы можете проверить это с помощью команды:

dpkg --get-selections | grep sendmail

Если он пуст, вы можете установить sendmail с помощью:

sudo apt-get install sendmail
6 голосов
/ 21 апреля 2014
sudo apt-get install sendmail
sudo sendmailconfig

Для правильной работы мне понадобилась вторая команда.(он спрашивает о некоторой конфигурации, просто набирайте Y каждый раз, когда спрашивает)

3 голосов
/ 18 октября 2011

Я рекомендую установить Postfix MTA для отправки электронной почты с сервера Ubuntu:

aptitude install postfix

И использовать класс PHP Mailer для отправки электронной почты из PHP: http://phpmailer.worxware.com/


Для "полнофункциональных" служб электронной почты мой рецепт:

Postfix + DKIM-прокси + Dovecot + Roundcube + PHP Mailer + SpamAssassin + надлежащие настройки DNS + сертификат SSL для включения зашифрованных соединений

(и я предпочитаю NginX в качестве HTTP-сервера ...)

1 голос
/ 08 июля 2015

sendmail делает свое дело.Вы можете настроить sendmail для использования вашей обычной учетной записи smtp электронной почты, подробности здесь: http://developernote.com/2012/07/how-i-configured-sendmail-for-php-on-ubuntu-server-12-04/ и специально для gmail здесь: http://linuxconfig.org/configuring-gmail-as-sendmail-email-relay В конфигурационных файлах sendmail есть ошибка, о которой вы можете прочитать здесь:http://linux.koolsolutions.com/2010/10/14/tip-fixing-sendmail-configuration-error/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...