web-dev-qa-db-ja.com

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

Ssmtpパッケージを使用してGmail経由で電子メールを送信しています。すべてが正常に機能しています。唯一の奇妙な点は、コマンドラインからメールを送信すると、「宛先フィールド」がファンキーになることです。

ssmtp [email protected] < message.txt

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

「To:」フィールドを含むヘッダーを設定できると読みましたが、他のシステムでmailコマンドを使用した場合、これは非常に複雑に思えます。これは自動的に行われます。

ssmtpを使用してコマンドラインからメールを送信する簡単な方法はありますか?ただし、上記の構文を変更したり、追加のパラメーターを指定したりする必要はありませんか? (おそらく、「宛先」アドレスを指定されたものとして設定するための構成ファイル。

2
cwd

この状況は、ssmtpが行っていることの誤解から生じています。メッセージenvelope(メールサーバーがメールのルーティングに使用する)とメッセージbody(電子メールクライアントに表示される)の間には非常に重要な違いがあります。両方にToFromがある場合があり、それらは互いに異なる場合があります。これは大丈夫です!

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:ヘッダーが唯一の必要なヘッダーであるため、エンベロープから派生し、欠落している場合は挿入されます。

4
bahamat