1

.Net でアプリケーションを作成しており、現在最終段階にあり、「電子メール ヘッダー」にさまざまなオプションを設定しながら、SMTP 経由で電子メール メッセージを挿入する必要があります。

私たちが重視する価値は次の3つです。

  • 復路
  • 送信者
  • メッセージ ID
  • 現在、コードには次のものがあります。

    BodyMessage.Sender = new MailAddress(bounce_address);
    

    (「bounce_address」は、バウンス先のアドレスです。)

    このコードはReturn-PathSenderの両方を設定しているようです。

    ただし、これらの値は異なる必要があります。

    メッセージを送信するときに、return-path を 1 つに指定し、送信者を別のものに指定できるようにするために使用できる値はありますか?

    これを試しましたが、うまくいきません:

    BodyMessage.Headers.Add("Sender", "1234567@example.com");
    

    そのコードは完全に無視されます。

    何か案は?

    メッセージ ID については、次のことを試しました。

    BodyMessage.Headers.Add("Message-ID", "abcdefgh@sample.com");
    

    しかし、それも無視されます。

    ただし、「X-Message-ID」などのカスタム ヘッダー値を指定すると、次のコードが機能します。

    BodyMessage.Headers.Add("X-Message-ID", "abcdefgh@sample.com");
    

    しかし、追加の email-header 項目を追加するのではなく、メインの message-id ヘッダー要素を提供したいので、これは私たちが望んでいることではありません。

    どんな助けでも大歓迎です。

    前もって感謝します!

    4

    1 に答える 1

    1

    そのような問題に遭遇したとき (ReplyTo コレクションが導入される前は、単一のアイテムのみでした)、サードパーティの SMTP ライブラリを使用することになり、.NET ライブラリの使用を完全にやめました。基本的に、デフォルトの動作をオーバーライドする方法がないことがわかりました。これらのヘッダーを自分で設定することは特に禁止されています。(なぜかよくわからない)

    DnSmtp

    そのライブラリの作成者が認めているように、あちこちでエッジが荒いので、使用する前に自分で磨く必要がありました。しかし、私は最終的に成功しました。

    PS。必ずしも DnSmtp ではなく、任意の .NET 電子メール ライブラリを使用できます。または、独自の SMTP クライアントを作成することもできます (少し面倒ですが、可能です)。

    于 2012-06-06T15:50:30.337 に答える