s-nail: настройка для google и yandex
Эта заметка продолжение Отправка почты из консоли с помощью s-nail.
Все найденые примеры в сети содержат deprecated/obsolete опции в конфиге.
Ниже актуальный конфиг для отправки почты через gmail и yandex с использованием паролей приложений. Использовать свой основной пароль аккаунта для таких целей это просто выстрел себе сразу в обе коленки.
Документация s-nail. Используемые в конфиге опции:
- tls-verify, ssl-verify более не используется
Все остальные опции будут нужны только для интерактивного использования s-nail. Но я не из vim секты, чтобы писать письма через командную строку и аттачить файлы.
Основные опции для интерактивного режима работы:
$HOME/.mailrc
account gmail { set v15-compat set mta=smtp://GOOGLE_USERNAME:GOOGLE_APP_PASSWORD@smtp.gmail.com:587 set from="[email protected](Bruce Wayne)" set sendcharsets=utf-8,iso-8859-1 set reply-in-same-charset set fullnames set tls-verify=strict set tls-ca-file=/etc/ssl/certs/ca-certificates.crt set tls-ca-no-defaults set smtp-use-starttls set smtp-auth=login }
Создаём пароль для приложения - Sign in with app passwords. Предварительно необходимо включить 2FA - Turn on 2-Step Verification
Управление аккаунтом Google → Безопасность → Двухэтапная аутентификация → Пароли приложений
Прямая ссылка на apppasswords.
Задаём имя приложения
Пароль будет показан только один раз
Yandex
$HOME/.mailrc
account yandex { set v15-compat set mta=smtp://YANDEX_USERNAME:YANDEX_APP_PASSWORD@smtp.yandex.ru:587 set from="[email protected](Bruce Wayne)" set sendcharsets=utf-8,iso-8859-1 set reply-in-same-charset set fullnames set tls-verify=strict set tls-ca-file=/etc/ssl/certs/ca-certificates.crt set tls-ca-no-defaults set smtp-use-starttls set smtp-auth=login }
Создаём пароль для приложения - Yandex пароли приложений
Переходим в Безопасность → Пароли приложений
Почта
Задаём имя для приложения
Пароль будет показан только один раз
Для yandex нужно включить авторизацию по паролям приложений. Если она выключена s-nail выдаст ошибку
s-nail: SMTP server: 535 5.7.8 Error: authentication failed: This user does not have access rights to this service /root/dead.letter 13/415 s-nail: ... message not sent
В Я.Почте переходим в ⚙️ → Почтовые программы
Способ авторизации по IMAP → Пароли приложений и OAuth-токены
Проверка
gmail>yandex
echo -e "🤖 s-nail test message from Debian 🍥" | s-nail -v -A gmail -s "📨Test message" rtfm@yandex.ru
yandex>gmail
echo -e "🤖 s-nail test message from Debian 🍥" | s-nail -v -A yandex -s "📨Test message" rtfm@gmail.com
EOM
Обсуждение