====== Отправка почты из консоли с помощью s-nail ====== {{:linux:mail:s-nail_logo.jpg?nolink |}} S-nail почтовый агент командной строки (mail user agent (MUA) или реже message user agent). Проще говоря консольный почтовый клиент. Эволюция программы довольно интересная: mail → mailx → s-nail → s-mailx. Можно почитать [[https://heirloom.sourceforge.net/mailx_history.html|здесь]]. Интересный факт - в английском языке даже есть выражение [[https://ru.wikipedia.org/wiki/Snail_mail_(выражение)|snail mail или "улиточная почта"]] ===== Примеры использования ===== Пример пока будет только один - bash скрипт вызывает s-nail на каком-то событии. echo "❌ ARCHIVE failed on $HOSTNAME ($MYIP)" | s-nail -s "🔔 Backup FAILED on [$HOSTNAME]" -r "bak@rtfm.wiki" -S smtp="relay.rtfm.wiki:2525" dx@rtfm.wiki batman@rtfm.wiki Через echo передаю тело сообщения, а дальше * -s заголовок письма * -r адрес отправителя * -S сервер smtp и порт * в конце получатель ⚠️ Пример для отправки через SMTP Gmail/Yandex пришлось вынести в отдельную заметку - [[linux:mail:s-nail_googe_yandex|s-nail: настройка для google и yandex]] ===== Ошибки ===== ==== Warning: variable superseded or obsoleted ==== s-nail: Warning: variable superseded or obsoleted: smtp s-nail: Obsoletion warning: please do not use *smtp*, instead assign a smtp:// URL to *mta*! s-nail: Obsoletion warning: Use of old-style credentials, which will vanish in v15! s-nail: Please read the manual section "On URL syntax and credential lookup" Например в этом случае вместо smtp="relay.rtfm.wiki:2525" в новых версиях s-nail надо использовать теперь smtp://relay.rtfm.wiki:2525 В changelog я этих изменений не вижу, но формат описан в [[http://www.sdaoden.eu/code-nail.html#13|On URL syntax and credential lookup]]. ==== s-nail: Cannot find a usable character set ==== Ошибка: s-nail: Cannot find a usable character set to encode message: No such entry, file or directory s-nail: . . . message not sent UTF-8! Надо проверить нет ли в файле символы отличных от ASCII. Это необязательно будут emoji, как в моём примере выше. Проверяем grep --color='auto' -P -n "[^\x00-\x7F]" /home/rtfm/file.sh Решение: добавить в файл ''/etc/s-nail.rc'' set ttycharset=utf-8 set charset-8bit=utf-8 Или в файл ''/etc/mail.rc'' если используется **mailx** Подробности в [[https://manpages.debian.org/stretch/s-nail/s-nail.1.en.html|debian man pages]] {{tag>linux mail mailx s-nail s-mailx почта}}