Можно ли настроить SSMTP на автоматическую установку заголовка «Кому:»?

Можно ли настроить SSMTP на автоматическую установку заголовка «Кому:»?

Я использую пакет ssmtp для отправки почты через g-mail. С ним все работает отлично - единственная странность в том, что если я отправляю почту через командную строку, поле "кому" выглядит странно.

ssmtp [email protected] < message.txt

По сути, в поле «кому» будет просто указано «нераскрытые получатели».

Я читал, что можно задать заголовки, содержащие поле «Кому:», но это кажется слишком сложным, поскольку я использовал эту mailкоманду в других системах. Она делает это автоматически.

Есть ли более простой способ отправки почты через командную строку ssmtp, но без необходимости изменять приведенный выше синтаксис или указывать дополнительные параметры? (возможно, файл конфигурации для установки адреса «кому» в соответствии с указанным).

решение1

Эта ситуация происходит из-за непонимания того, что ssmtpпроисходит. Существует очень важное различие между сообщениемконверт(которые почтовые серверы используют для маршрутизации почты) и сообщениетело(который отображается в вашем почтовом клиенте). Оба могут иметь Toи From, и они могут отличаться друг от друга. Этохорошо!

ssmtpпросто создает конверт и облегчает передачу сообщения в MTA. Он ожидает, что тело, которому вы его передаете, полностью сформировано исодержат все заголовки тела. Он не добавит ничего для вас*, (хотя он вставит заголовки обработки сообщений, например, , и т. д.). Я уверен, вы также заметили, что с этими сообщениями Received-byтакже нет .Subject:

Таким образом, ответ на ваш вопрос заключается в том, что To:поле необходимо включить в message.txt.

Чтобы поля To:и Subject:отображались, вам нужно отформатировать их message.txtследующим образом:

To: [email protected]
Subject: Message for you

Message text starts here.
blah blah blah.

*Это не совсем так. Поскольку From:заголовок — единственный требуемый заголовок, он будет извлечен из конверта и вставлен, если он отсутствует.

Связанный контент