FreeBSD: простая замена sendmail'у

Иногда функции sendmail бывают избыточными, особенно когда сервер должен только отправлять сообщения. В FreeBSD можно sendmail заменить на упрощенный ssmtp (кстати, TLS им поддерживается) и настроить его на отправку писем через аккаунт на Google Mail.

Устанавливаем ssmtp из портов:

cd /usr/ports/mail/ssmtp/ && make install clean


Правим файл настроек /usr/local/etc/ssmtp/ssmtp.conf:

UseSTARTTLS=YES
[email protected]
mailhub=smtp.gmail.com:587
[email protected]
AuthPass=пароль


Т.е. письма будут приходить с ящика [email protected], при авторизации используется учетка [email protected] + пароль. На 587 порту работает TLS шифрование. Параметр root — адрес почты администратора, на который будут приходить сообщения системы.

Меняем стандартный sendmail на ssmtp:

mv /usr/sbin/sendmail /usr/sbin/sendmail.org
ln -s /usr/local/sbin/ssmtp /usr/sbin/sendmail


Теперь отправим письмо, например, на [email protected], для этого запускаем команду:

mail -v -s "TestSubject" [email protected]


… вводим текст сообщения, enter, точку и enter.

Сообщение будет отправлено, а мы также увидем подробные логи того, что происходит.

По мотивам вот этого.

Комментарии (7)

RSS свернуть / развернуть
+
0
Вот ведь чудеса: именно сейчас хотел на эту тему гуглить, т.к. как раз отправку почты программирую для одного сайта, а тут на тебе — готовое решение! Большое спасибо. Собрал ssmtp из исходников без проблем.
avatar

yababay

  • 12 ноября 2011, 23:42
+
0
Он очень простой, это намного лучше, чем использовать sendmail — там проблемы с шифрованием бывают, ну уж во много раз лучше чем отправлять с помощью php
avatar

Sergei_T

  • 12 ноября 2011, 23:59
+
+1
Есть маленькая засада. Чтобы пользоваться tls нужно конфигурировать нужно с ключом ssl:

./configure --enable-ssl
avatar

yababay

  • 13 ноября 2011, 00:27
+
0
Будем знать. Из портов по-умолчанию с поддержкой TLS, даже нет опции отключить при конфигурации:

avatar

Sergei_T

  • 13 ноября 2011, 00:30
+
0
А еще похоже, что у Google есть лимит на прием отправляемых в единицу времени писем.
avatar

yababay

  • 13 ноября 2011, 00:32
+
0
С таким не сталкивался, обычно, например на mail.ru есть лимит принимаемых писем.

Если жестко напрягает, тогда лучше поставить exim. Вот для него кстати монитор очереди:

mtaalamu.ru/blog/91.html
avatar

Sergei_T

  • 13 ноября 2011, 00:40
+
0
В моем случае нужно просто собирать почту, отправленную через веб-интерфейс. Для этого достаточно обычного sendmail, запущенного с настройками по умолчанию. Он просто запихивает сообщения в spool-файл. Забрать их можно любым pop-клиентом. Но и ssmtp пригодится, т.к. время от времени нужно сигнализировать о критических ситуациях. Так что даже если Google позволяет отправлять письма хотя бы раз в полчаса — уже достаточно будет.
avatar

yababay

  • 13 ноября 2011, 00:47

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.