Postfix — агент пересылки почты (MTA — mail transfer agent) с открытым исходным кодом.
Допустим к IP адресу сервера привязано доменное имя, от которого в дальнейшем будет рассылаться почта.
Переключимся сразу на пользователя root:
sudo -i
Приступим к установке Postfix.
Для установки в Ubuntu выполним:
apt-get update
apt-get install postfix
Для установки в CentOS:
yum install postfix
Во время установки будут заданы некоторые вопросы:
1) Выберем «Интернет-сайт»
2) Укажем полное доменное имя сервера (FQDN), например example.com
После этого Postfix уже начнет работать.
Файлы конфигурации обычно находятся в /etc/postfix/.
Можно посмотреть статус/перезапустить/остановить/запустить Postfix командами:
service postfix status
service postfix restart
service postfix stop
service postfix start
В случае необходимости можно перенастроить набрав команду:
dpkg-reconfigure postfix
Посмотрим используются ли порты:
netstat -na | grep LISTEN | grep 25
netstat -na | grep LISTEN | grep 587
Можно выполнить автоматическую проверку конфигурации, прав на файлы и т.д.:
postfix check
Попробуем отправить письмо на указанный адрес (после команды наберем желаемый текст и поставим точку для завершения):
sendmail -v admin@example.com
Можно искать в логах нужную информацию через grep, например найдем все строки содержащие admin@example.com:
grep admin@example.com /var/log/mail.log
Можно также подключиться с другого хоста на порт postfix через telnet и убедится что он запущен.
Для диагностики можно наблюдать за соединениями используя tcpdump:
tcpdump port 25
tcpdump port 587
Очередь сообщений можно посмотреть командами:
mailq | less
postqueue -p | less
qshape
qshape deferred
Просмотр текущих параметров и параметров по умолчанию:
postconf
postconf -d
Пример просмотра конкретного параметра:
postconf | grep message_size_limit
Пример изменения параметра (аналогично изменению в файле конфигурации):
postconf -e 'message_size_limit = 20480000'
Если на сервере несколько IP, а домен только на одном, то укажем с какого IP адреса будет выполнятся отправка:
sudo nano /etc/postfix/main.cf
smtp_bind_address = 11.1.1.2
Также можно указать на каких интерфейсах будет работать Postfix:
#inet_interfaces = all
inet_interfaces = 127.0.0.1
Перезапустим Postfix чтобы применить изменения:
sudo /etc/init.d/postfix restart
Смотрите также мои статьи:
- Настройка Spamassassin + Postfix
- Настройка ClamAV + Postfix
- Как включить порт 587 в Postfix
- Решение «SMTPUTF8 is required, but was not offered by host»