Windows仮想メールサーバーを使用してヘッダーのreturn-pathを含む電子メールを送信する
-
19-08-2019 - |
質問
.NET MailMessageクラスを使用して電子メールメッセージを送信しようとしています。このクラスには、バウンスが別の電子メールアドレスに戻るようにreturn-pathヘッダーを追加することもできます。コードは以下のとおりです。
MailMessage mm = new MailMessage(
new MailAddress(string.Format("{0}<{1}>", email.FromName, email.FromEmail)),
new 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);
送信された電子メールを確認するたびにヘッダーを確認しますが、常にreturn-pathが欠落しているようです。これを正しく設定するために不足しているものはありますか?上記で述べたように、開発マシン(XP)で標準の仮想メールサーバーを使用していますが、最終的にはWindows 2003で実行されます。
なぜそれが実現しないのか、誰にもアイデアがありますか?
解決
Return-Pathは、SMTP MAIL FROM Envelopeに基づいて設定されます。 Senderプロパティを使用して、そのようなことを行うことができます。
遅かれ早かれ、関連する問題に関する別の議論: System.Net.Mailを使用してSMTPエンベロープMAIL FROMを設定するにはどうすればよいですか
また、SmtpDeliveryMethod.PickupDirectoryFromIisを使用する場合、SenderプロパティはMAIL FROMとして使用されません。この値を維持するには、配信方法としてネットワークを使用する必要があります。
この問題の回避策は見つかりませんでした。
PickupDirectoryFromIis、Senderプロパティ、SMTP MAIL FROMエンベロープ
所属していません StackOverflow