Как отправить почту из консоли через SMTP
Отправка писем из консоли — занятие на первый взгляд будничное. Казалось бы, что может быть проще: строка команды — и сообщение улетает адресату.
Но как только в эту схему вмешиваются сторонние SMTP-серверы, авторизация, SSL-шифрование и корпоративные ограничения, привычная простота трескается по швам. Именно здесь на сцену выходит s-nail — инструмент старой школы, переживший не одну эпоху Unix-культуры.
S-nail — это почтовый агент командной строки, тот самый MUA, который не нуждается в графике, кнопках и всплывающих окнах. Он живёт в терминале, дышит текстом и разговаривает с системой напрямую. Консольный почтовый клиент в чистом виде: строгий, функциональный и удивительно живучий. Его история — отдельный сюжет для тех, кто ценит эволюцию софта: от лаконичного mail к более гибкому mailx, затем к s-nail, а позже — к переосмысленному s-mailx. Каждый этап — попытка сохранить минимализм, не жертвуя возможностями.
Задача усложняется, когда требуется отправлять письма не через локальный MTA, а через внешние SMTP-шлюзы с обязательной аутентификацией и шифрованием. Например, корпоративный smtp.office365.com на порту 587 или строгий smtp.gmail.com с SSL на 465-м. Здесь s-nail раскрывается полностью: при правильной настройке конфигурационных файлов он спокойно берёт на себя TLS, логин, пароль и корректную передачу сообщений, оставаясь при этом верным терминалу.
Рабочие конфиги выглядят почти аскетично, но за этой простотой скрывается мощь: однажды настроив s-nail, можно автоматизировать рассылки, отчёты, уведомления и аварийные алерты, не поднимая тяжёлых почтовых демонов и не выходя за пределы консоли. Это инструмент для тех, кто предпочитает контроль и прозрачность магии «одной кнопки».
Иронично, что название программы перекликается с выражением snail mail — «улиточная почта», обозначающим традиционные бумажные письма. Но в случае s-nail улитка оказывается неожиданно быстрой: она уверенно доставляет электронные сообщения через современные зашифрованные каналы, доказывая, что даже самые старые инструменты могут отлично чувствовать себя в мире новых требований.
Для установки утилиты s-nail, достаточно выполнить три команды:
sudo apt-get install s-nail
touch ~/.mailrc
chmod 0600 ~/.mailrcПосле чего, необходимо вписать в созданый файл (конфиг)
/root/.mailrc содержимое приведенное ниже.
Рабочий пример конфигурационного файла для отправки через smtp.office365.com
set bsdcompat
set mta=smtp://smtp.office365.com:587
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
set ssl-verify=ignore
set from="ваш-логин@outlook.com"
set smtp-auth-user=ваш-логин@outlook.com
set smtp-auth-password=ваш парольВнесите актуальную информацию в последние три строки.
Пример рабочего конфигурационного файла для отправки писем через smtp.gmail.com
set v15-compat
set verbose
set sendcharsets=utf-8,iso-8859-1
set reply-in-same-charset
set folder=mail
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
set sendwait
set from="ваш-логин@gmail.com"
set mta=smtps://ваш-логин:ваш-пароль@smtp.gmail.com:465Для Gmail вам понадобится отредактировать последние две строки.
Для оправки сообщения, используйте команду со следующим синтаксисом:
echo "Тест письма" | s-nail -s "Письмо отправлено консольной утилитой s-nail" [email protected]Дополнительная информация по s-nail тут https://manpages.ubuntu.com/manpages/focal/man1/s-nail.1.html


