13

C# と System.Net.Mail 名前空間を使用して電子メールを送信する場合、MailMessage オブジェクトに "From" プロパティと "Sender" プロパティを設定できますが、これらのいずれも、MAIL FROM と送信元アドレスを作成することはできません。互いに異なるDATAセクションに。MAIL FROM は「From」プロパティ値に設定され、「Sender」を設定すると、DATA セクションに別のヘッダー フィールドが追加されるだけです。これにより、「A@B.COM に代わって X@Y.COM から」という結果になり、これは望ましくありません。何か不足していますか?

ユースケースは、誰かに代わって送信されるニュースレターなどの NDR 送信先を制御することです。

現在、System.Net.Mail の代わりにaspNetEmailを使用しています。これにより、(他のほとんどの SMTP ライブラリと同様に) これを適切に行うことができます。aspNetEmail では、これは EmailMessage.ReversePath プロパティを使用して実現されます。

4

4 に答える 4

7

MailMessage.Senderは常にヘッダーを挿入します (電子メール クライアントでの代理Senderとして解釈されます)。

Networkでの発送方法をご利用の場合SmtpClient.Sender封筒の差出人も変わります。配信方法を使用するPickupDirectoryFromIisと、エンベロープ送信者の決定は IIS に委ねられ、IIS はFromアドレスではなくアドレスを使用しSenderます。

MSDN here にも同様の質問があります。

于 2009-03-16T23:02:27.613 に答える
4

私はそれを行う方法を見つけました:

  • mail.From は、最終ユーザーに表示される電子メールを指定します
  • mail.Sender はエンベロープ MAIL FROM を指定します

それだけです(理解するのに時間がかかりましたが)

于 2008-12-22T20:13:16.690 に答える
2

次の行を追加すると、Return-Path ヘッダーと Reply-To ヘッダーがメール ヘッダーに設定されます。

Dim strReplyTo As String = "email@domain.tld"
message.ReplyToList.Add(strReplyTo)
message.Headers.Add("Return-Path", strReplyTo)

そして、返信をクリックすると、返信先アドレスに設定された電子メールに返信します

于 2016-09-27T13:50:49.303 に答える
1

これのことですか?:

//create the mail message
 MailMessage mail = new MailMessage();

 //set the addresses
 mail.From = new MailAddress("me@mycompany.com");
 mail.To.Add("you@yourcompany.com");

 //set the content
 mail.Subject = "This is an email";
 mail.Body = "this is a sample body with html in it. <b>This is bold</b> <font color=#336699>This is blue</font>";
 mail.IsBodyHtml = true;

 //send the message
 SmtpClient smtp = new SmtpClient("127.0.0.1");
 smtp.Send(mail);

http://www.systemnetmail.com/faq/3.1.2.aspxから

于 2008-09-09T13:17:09.023 に答える