ssmtp
- лише одна з багатьох обгортків Sendmail. Усі вони приймають повідомлення на стандартному введенні та необов'язково список адрес як аргументи командного рядка, і всі вони пропонують двійковий код, sendmail
який реалізує (принаймні основні функції) традиційного API командного рядка Sendmail. Але правильно кажучи, це повідомлення має бути добре сформованим повідомленням RFC822. Як мінімум, він повинен мати Subject:
заголовок.
ssmtp address@example.com <<<$'Subject: testing 1...2...3'
(З ssmtp
, sendmail
це лише символьне посилання на ssmtp
. Postfix, Exim, і я вважаю, що кожен інший MTA, який Provides: mail-transport-agent
має подібне розташування, за винятком, звичайно, sendmail
де sendmail
двійковий код "справжній".)
Більш часто ви можете зібрати просте повідомлення електронною поштою з документом тут.
/usr/lib/sendmail -oi -t <<____HERE
Subject: testing
To: recipient@example.net
Here we interpolate the shell variable $result
____HERE
(Параметр Sendmail -t
говорить про те, щоб взяти список одержувачів із заголовків повідомлення, яке ви отримуєте на стандартному вході. Точний шлях до Sendmail буде відрізнятися між платформами.)
Ще одна поширена варіація полягає в об'єднанні виводу декількох команд. Слідкуйте за тим, щоб між заголовками та тілом повідомлення був порожній рядок ("шийка").
( printf "Subject: random number\n\n"
dd if=/dev/urandom bs=4 count=1 2>/dev/null | od -D -An ) |
sendmail elsewhere@example.org
Для чого-небудь, крім дуже простих текстових повідомлень ASCII, вам потрібно зрозуміти, як скласти правильне MIME-повідомлення, і в цей момент зазвичай має більше сенсу використовувати такий інструмент mutt
. Деякі платформи мають mail
або mailx
знають, як надсилати вкладені файли та текст, який не належить до ASCII, але це не повністю портативно.
Завдання тут полягає в тому, щоб не знайти клієнта, який може прийняти повідомлення електронної пошти та спробувати надіслати його, це налаштувати його на специфіку Gmail, яка вимагає від MTA знати ім'я користувача та пароль для віддаленого сервера для того, щоб мати змогу використовувати його як розумний хост.
За лаштунками, як правило , більшість клієнтів тощо mutt
, mailx
як правило, просто біжать sendmail
за лаштунками, щоб вивести повідомлення з системи.