Установка и настройка Postfix
'а прошла на много быстрее и приятней чем sendmail
. Рекомендую использовать этот MTA
, в случае возникновения проблем с настройкой sendmail
. Прошу присылать исправления и ошибки, с которыми вы столкнулись при установке и настройке postfix'а на ваш локальный сервер.
Установка postfix
В доступных режимах работы выбрать «Internet Site» и название хоста «localhost» или используйте имя вашей машинки (у меня, например e5530
).
Для удаления postfix
выполните:
sudo apt-get remove purge postfix
Настройка postfix
Настройка MTA postfix
# название хоста, такое же как указали в первичной настройке
myhostname = e5530
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = e5530, localhost.localdomain, localhost
relayhost = [smtp.gmail.com]:587
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 10000
recipient_delimiter = +
inet_interfaces = all
# этот конфиг нужно добавить
smtp_destination_rate_delay = 60
relay_destination_rate_delay = 60
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
smtp_sasl_security_options = noanonymous
transport_maps = hash:/etc/postfix/transport
smtp_generic_maps = hash:/etc/postfix/generic
smtp_tls_CAfile = /etc/postfix/cacert.pem
# строка включения TLC должна идти после его настроек
smtp_use_tls = yes
[smtp.gmail.com]:587 This email address is being protected from spambots. You need JavaScript enabled to view it. :YOU_PASSWORD
root@e5530 This email address is being protected from spambots. You need JavaScript enabled to view it.
sudo /etc/init.d/postfix restart
Настройка PHP
Настройка /etc/php5/apache2/php.ini
:
sendmail_path = /usr/sbin/sendmail -t -i -f This email address is being protected from spambots. You need JavaScript enabled to view it.
Полезные команды и отладка
Для проверки postfix
попробуйте отправить несколько сообщений из консоли. Как это делать я расписал в этой статье: «Отправка Email сообщений из консоли».
Посмотреть логи:
tail /var/log/mail.err
tail /var/log/mail.log
Очистить логи:
cat /dev/null > /var/log/mail.log
cat /dev/null > /var/log/mail.err
Уточняем кто слушает 25 порт:
sockstat | grep 25
Трафик монитор (так я определил что sendmail
тоже стучался на 25 порт):
sudo jnettop -i wlan0
Трассировать маршрут пакетов:
traceroute -p 465 smtp.gmail.com
Проблемы и решения
Порядок настроек важен!
Ошибка: Must issue a STARTTLS command first указывает на то, что в конфиге postfix
'а строка:
smtp_use_tls = yes
располагается после настройки TLC. Перенесите эту настройку выше настройки TLC.
Внимание!
При ошибке: postdrop: warning: unable to look up public/pickup: No such file or directory. Выполните команду:
mkfifo /var/spool/postfix/public/pickup
sudo /etc/init.d/postfix restart
Примечание
Если при установке postfix
'а вы выбрали не «Internet Site» - для перенастройки нужно выполнить:
sudo dpkg-reconfigure postfix