Отправка e-mail оповещений с сервера

В этой скромной статье мы будем настраивать отправку e-mail сообщений с сервера под OS Debian.

Нам понадобятся:
Почта (желательно Gmail)
EXIM4
NANO

Настраиваем exim4

После установки exim4 — его надо будет настроить — для этого используем

dpkg-reconfigure exim4-config
Настройка exim4
Нас встретит теплый, ламповый настройщик — картинки под катом

Если не охота смотреть картинки — то правильные ответы такие:

Option Choice 
 Configuration type  mail sent by smarthost; received via SMTP or fetchmail
 System mail name  localhost
 IP-addresses to listen on for incoming SMTP connections  127.0.0.1 (to refuse external connections)
Other destinations for which mail is accepted leave empty
Machines to relay mail for leave empty
IP address or host name of the outgoing smarthost smtp.gmail.com:587
Hide local mail name in outgoing mail ? no
Keep number of DNS-queries minimal (Dial-on-Demand) ? no
Delivery method for local mail mbox format in /var/mail/
Split configuration into small files ? yes

Подключаем свою почту

Через nano,  или какой-либо другой текстовый редактор — редактируете файл конфига.

В моем случае это будет так:

nano /etc/exim4/passwd.client

Там мы должны видеть примерно следующее:

# password file used when the local exim is authenticating to a remote
# host as a client.
#
# see exim4_passwd_client(5) for more documentation
#
# Example:
### target.mail.server.example:login:password
gmail-smtp.l.google.com:your.account@gmail.com:yourpassword
*.google.com:your.account@gmail.com:yourpassword
smtp.gmail.com:your.account@gmail.com:yourpassword

После внесения нужных изменений, сохраним файл и перезагрузим EXIM4

update-exim4.conf
invoke-rc.d exim4 restart
exim4 -qff

Если в итоговом сообщении видим ALERT

ALERT: exim paniclog /var/log/exim4/paniclog has non-zero size, mail system possibly broken

Очищаем указанный файл

cat /dev/null > /var/log/exim4/paniclog

И перегружаем exim4 заново.

invoke-rc.d exim4 restart

Отправляем письмо

Отправим себе первое тестовое письмо.

Для этого создадим файл письма (можно тем же nano)

nano mail.txt

Оно должно содержать следующие поля:

  1. Получатель (to:)
  2. Отправитель  (from:)
  3. Тема письма (subject:)
  4. Сам текст

Пример письма:

to : your.account@gmail.com
from : Название сервера
subject : TEST

Почта работает!!!

 

Теперь отправим его

cat mail.txt | sendmail -t

 

Спасибо источнику!