Настройка машины Ubuntu/Apache/PHP для отправки электронной почты
Я работаю в небольшой компании Хо Ши Мина, единственным сервером которой был только один старый маленький компьютер. Сейчас всего несколько месяцев спустя мы быстро расширяемся, и одним из требований для новых пользователей является требование проверить их адреса электронной почты.
В поле Ubuntu нет специальных программ, вместо этого единственное, что я сделал на самом сервере, - это переформатировать весь жесткий диск из Windows XP и установить Natty Narwhal, а затем установить Apache и PHPMYADMIN.
Я хотел бы, чтобы PHP отправлял электронное письмо как пользователю, так и администраторам, как только кто-то подал заявку на членство. Но я не знаю, что мне нужно сделать, чтобы начать.
Любые идеи о том, что мне нужно настроить, были бы смиренно оценены; Я не ищу шаг за шагом, просто несколько советов, чтобы указать мне в правильном направлении.
-Duong Van
Ответы
Ответ 1
sudo apt-get install sendmail
установит копию sendmail, которая будет прослушиваться локально. Если вы установите это, то php может использовать встроенную функцию mail()
. Там также не будет риска стать дистанционным реле, если вы так же установите.
Если вы планируете отправлять почту в другие интернет-домены, вам нужно убедиться, что IP-адрес отправителя электронной почты также имеет обратную запись DNS (запись PTR). Большинство крупных интернет-провайдеров отклонит вашу почту, если ваш IP-адрес не имеет записи PTR или тот, который указывает на общий хост (например, 1.2.3.3.domain.isp.com). Он должен переходить на нечто вроде mail.yourdomain.com
Ответ 2
Встроенная функция почты является хорошей встроенной опцией.
Почтовая функция является частью ядра PHP, но для нее необходимо установить sendmail на сервер.
Я считаю, что sendmail уже может быть установлен с уже выбранными вами пакетами, но вы можете проверить его с помощью команды:
dpkg --get-selections | grep sendmail
Если это пустое, вы можете установить sendmail с помощью:
sudo apt-get install sendmail
Ответ 3
sudo apt-get install sendmail
sudo sendmailconfig
Мне понадобилась вторая команда для правильной работы. (он спрашивает о некоторой конфигурации, просто введите Y
каждый раз, когда он спрашивает)
Ответ 4
Я рекомендую установить Postfix MTA для отправки электронной почты с сервера Ubuntu:
aptitude install postfix
И используя класс PHP Mailer для отправки электронной почты с PHP: http://phpmailer.worxware.com/
Для "полнофункциональных" почтовых сервисов мой рецепт:
Postfix + DKIM-proxy + Dovecot + Roundcube + PHP Mailer + SpamAssassin + правильные настройки DNS + SSL-сертификат для включения зашифрованных соединений
(И я предпочитаю NginX как HTTP-сервер...)
Ответ 5
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/