Нужны уведомления с «малины» — при заполнении диска, перегреве или завершении бэкапа? Забудьте про sendmail. Это динозавр с кучей зависимостей и дырами в безопасности. Есть решение проще и легче — msmtp.
| Параметр | sendmail | msmtp |
|---|---|---|
| Размер | ~5 МБ | ~150 КБ |
| Память | Постоянный демон | Запускается по требованию |
| Настройка | Сложные конфиги | 15 строк в ~/.msmtprc |
| Безопасность | Уязвим к спаму | Только отправка через доверенный SMTP |
sudo apt update
sudo apt install msmtp msmtp-mta ca-certificates -y
В аккаунте Mail.ru:
~/.msmtprcdefaults
auth on
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile ~/.msmtp.log
account mailru
host smtp.mail.ru
port 587
from it@ваш-домен.ru
user it@ваш-домен.ru
password ваш-16-значный-пароль
account default : mailru
chmod 600 ~/.msmtprcecho "Тест с Pi $(date)" | msmtp ваш-email@gmail.com
Если в логе ~/.msmtp.log видите status=sent — всё работает.
Если после sudo chmod получаете Permission denied — файл принадлежит root. Исправляем:
sudo chown $USER:$USER ~/.msmtprc
chmod 600 ~/.msmtprc
Для почты на домене через Яндекс 360:
account yandex
host smtp.yandex.ru
port 587
from it@ваш-домен.ru
user it # ← без домена!
password ваш-пароль-приложения
Для обычного аккаунта @yandex.ru — логин указывайте полностью.
Добавьте в crontab -e:
MAILTO="ваш-email@gmail.com"
Теперь все выводы cron-задач будут приходить на почту.
msmtp — минималистичный клиент для отправки уведомлений. Не принимает почту, не крутит демонов, не жрёт память. Идеально для:
Настройка займёт 3 минуты. А sendmail будет мучить вас часами.
Комментарии
Пока нет комментариев. Будьте первым!