3


1

NET MailMessageクラスを使用して電子メールメッセージを送信しようとしています。これには、バウンスが別の電子メールアドレスに戻るようにreturn-pathヘッダーを追加することもできます。 コードは以下の通りです。
MailMessage mm =新しいMailMessage(新しいMailAddress(文字列。書式( "{0} <{1}>"、email.FromName、email.FromEmail))、新しいMailAddress(emailTo));

mm.Subject = ReplaceValues(email.Subject、nameValues); mm.ReplyTo = new MailAddress(string.Format( "{0} <{1}>"、email.FromName、email.FromEmail)); mm.Headers.Add( "Return-Path"、ReturnEmail);

// Set the email html and plain text
// Removed because it is unneccsary for this example

// Now setup the smtp server
SmtpClient smtp = new SmtpClient(); smtp.Host = SmtpServer; smtp.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;

if(SmtpUsername.Length> 0){System.Net.NetworkCredential theCredential = new System.Net.NetworkCredential(SmtpUsername、SmtpPassword); smtp.Credentials = theCredential; }

smtp.Send(mm);

送信されたEメールをチェックするときはいつでも私はヘッダーをチェックします、そしてそれは常にreturn-pathがないようです。 これを正しく設定するために欠けているものはありますか? 私が上で言ったように私は私の開発マシン(XP)の上で標準的なバーチャルメールサーバを使っています、しかしそれは結局Windows 2003で動くでしょう。

それが実現していない理由を誰かが何かアイデアを持っていますか?

1 Answer


4


Return-Pathは、SMTP MAIL FROM Envelopeに基づいて設定されます。 Senderプロパティを使ってそのようなことをすることができます。 あなたが遅かれ早かれ関連する問題に関するもう一つの議論: System.Net.Mailを使ってSMTPエンベロープMAIL FROMを設定するにはどうすればいいですか?

また、SmtpDeliveryMethod.PickupDirectoryFromIisを使用している場合、SenderプロパティはMAIL FROMとして使用されません。この値を維持するためには、配信方法としてNetworkを使用する必要があります。 この問題に対する回避策は見つかりませんでした。 PickupDirectoryFromIis、Senderプロパティ、およびSMTP MAIL FROM封筒