При настройке очередного сервера с установленной "на борту" FreeBSD, решил настроить какую-то альтернативу штатному sendmail для отправки почты с сервера. Возможностей Exim - слишком много для таких простых задач, нужно что-то попроще. Как вариант - SSMTP, который есть в портах.
Выполним установку SSMTP из системы портов:
# cd /usr/ports/mail/ssmtp && make install clean && rehash |
По завершению установки, была выведена короткая инструкция по настройке, что очень порадовало:
To replace sendmail with ssmtp type "make replace" or change your /etc/mail/mailer.conf to: sendmail /usr/local/sbin/ssmtp send-mail /usr/local/sbin/ssmtp mailq /usr/local/sbin/ssmtp newaliases /usr/local/sbin/ssmtp hoststat /usr/bin/true purgestat /usr/bin/true However, before you can use the program, you should copy the files |
Последуем инструкциям и заменим штатный мейлер, отредактировав /etc/mail/mailer.conf до следующего состояния:
sendmail /usr/local/sbin/ssmtp |
Теперь создадим файлы конфигурации, скопировав их из предложенных примеров:
# cd /usr/local/etc/ssmtp # cp revaliases.sample revaliases # cp ssmtp.conf.sample ssmtp.conf |
Дефолтный конфигурационный файл ssmtp.conf совсем небольшой, так что выполнить его полный перевод, для улучшения понимания конфига, не составило особого труда.
#
# /etc/ssmtp.conf -- конфигурационный файл sSMTP sendmail.
#
# Пользователь, который получает всю почту для userids < 1000 # Оставить пустым для отключения перезаписи. root=postmaster # Место, куда уходит почта. Фактическое имя машины # не требует МХ записи. Обычно mailhosts именуется mail.domain.com # Например, при вхождении в domain.com ваш mailhub называется так же. mailhub=mail # Пример для SMTP с номером порта 2525
# mailhub=mail.your.domain:2525
# Пример для SMTP с номером порта 25 (Standard/RFC)
# mailhub=mail.your.domain
# Пример для шифрованого SSL соединения
# mailhub=mail.your.domain:465
# От кого, якобы, должна приходить почта? rewriteDomain= # Полное имя hostname=_HOSTNAME_ # Установите это, чтобы никогда не переписывать "From:" (если не указано) и
# использовать этот адрес в "from line" оболочки.
#FromLineOverride=YES
# Использовать SSL/TLS для отправки безопасных сообщений на сервер.
#UseTLS=YES
# Использовать SSL/TLS сертификаты для аутентификации на smtp хосте.
#UseTLSCert=YES
# Использовать этот RSA сертификат.
#TLSCert=/usr/local/etc/ssmtp/ssmtp.pem
# Получить расширенную (*действительно* расширенную) отладочную информацию в логах
# Если вы хотите получить отладку парсинга конфигурационных файлов, переместите эту опцию
# в начало конфигурационного файла и раскомментируйте
#Debug=YES |
В результате редактирования, получился такой вот короткий конфигурационный файл ssmtp.conf:
root=info [at] elitzoo [dot] com [dot] ua
mailhub=mail.muff.kiev.ua
hostname=www.elitzoo.com.ua |
Следующий шаг - настройка алиасов (псевдонимов, виртуальной переадресации). Выполнить этом можна путем внесения необходимых изменений в файл revaliases - аналог /etc/mail/aliases у sendmail. В моем случае в revaliases достаточно было добавить только одну строчку:
root:root [at] www [dot] elitzoo [dot] com [dot] ua:mail.muff.kiev.ua |
Остановим штатный sendmail и отключим его запуск при старте системы:
# echo '# Disable Sendmail' >> /etc/rc.conf # echo 'sendmail_enable="NONE"' >> /etc/rc.conf # killall sendmail |
Проверяем работоспособность конфигурации:
# mail info [at] elitzoo [dot] com [dot] ua Subject: Test sSMTP Test mail from new server. |
В моем случае все заработало. Если что-то не работает - тогда включайте режим отладки в ssmtp.conf.
Re: SSMTP - простой SMTP-сервер
Полезная инфа, пригодилась.