SSMTP で「To:」ヘッダーを自動的に設定することはできますか?

SSMTP で「To:」ヘッダーを自動的に設定することはできますか?

私は G-mail 経由で電子メールを送信するために ssmtp パッケージを使用しています。すべて正常に動作しています。唯一の奇妙な点は、コマンド ライン経由で電子メールを送信すると、「宛先フィールド」がおかしくなることです。

ssmtp [email protected] < message.txt

基本的に、「宛先」フィールドには「非公開の受信者」とだけ表示されます。

「To:」フィールドを含むヘッダーを設定できると読みましたが、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:ヘッダーは唯一必要なヘッダーなので、ヘッダーが欠落している場合はエンベロープから取得され、挿入されます。

関連情報