Отправка почты из скриптов SSMTP

Материал из rrv-wiki
Перейти к навигации Перейти к поиску

Задача

Debian, сервер на котором нет почтового сервера, требуется слать логи.

Физических пользователей нет, только скрипты.

Решение

Ставим ssmtp

apt install ssmtp

Настраиваем /etc/ssmtp/ssmtp.conf:

# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
root=real_name@i-rrv.ru

# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
# Имя или ip почтового сервера и порт
mailhub=mail.i-rrv.ru:25

# Where will the mail seem to come from?
#rewriteDomain=i-rrv.ru

# The full hostname
hostname=test-control

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
# Опция разрешает менять от кого будет письмо
FromLineOverride=YES

# SMTP авторизация 
# Если требуется шифрование
#UseTLS=YES
#UseSTARTTLS=YES
# логин 
AuthUser=real_name
# пароль
AuthPass=hack_me

Теперь отправляем письмо, либо так:

(echo "From: real_name@i-rrv.ru"; echo "To: test@gmail.com"; echo "Subject: my heading"; echo; echo "Test и по русски") | /usr/sbin/ssmtp test@gmail.com

Либо так. Создаем файл message.txt:

From: real_name@i-rrv.ru
To: test@gmail.com
Subject: my headding

Test и по русски

и отправляем

/usr/sbin/ssmtp test@gmail.com < ./message.txt

Все.