Ssmtpパッケージを使用してGmail経由で電子メールを送信しています。すべてが正常に機能しています。唯一の奇妙な点は、コマンドラインからメールを送信すると、「宛先フィールド」がファンキーになることです。
ssmtp [email protected] < message.txt
基本的に、「to」フィールドには「非公開の受信者」とだけ表示されます
「To:」フィールドを含むヘッダーを設定できると読みましたが、他のシステムでmail
コマンドを使用した場合、これは非常に複雑に思えます。これは自動的に行われます。
ssmtp
を使用してコマンドラインからメールを送信する簡単な方法はありますか?ただし、上記の構文を変更したり、追加のパラメーターを指定したりする必要はありませんか? (おそらく、「宛先」アドレスを指定されたものとして設定するための構成ファイル。
この状況は、ssmtp
が行っていることの誤解から生じています。メッセージenvelope(メールサーバーがメールのルーティングに使用する)とメッセージbody(電子メールクライアントに表示される)の間には非常に重要な違いがあります。両方に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:
ヘッダーが唯一の必要なヘッダーであるため、エンベロープから派生し、欠落している場合は挿入されます。