c# - 如何使用 System.Net.Mail 设置 SMTP 信封 MAIL FROM?

标签 c# .net smtp

当您使用 C# 和 System.Net.Mail 命名空间发送电子邮件时,您可以在 MailMessage 对象上设置“From”和“Sender”属性,但是这些都不允许您将 MAIL FROM 和 from地址进入彼此不同的数据部分。 MAIL FROM 被设置为“From”属性值,如果您设置“Sender”,它只会在 DATA 部分添加另一个标题字段。这导致“来自 X@Y.COM 代表 A@B.COM”,这不是您想要的。我错过了什么吗?

用例控制代表其他人发送的时事通讯等的 NDR 目的地。

我目前正在使用 aspNetEmail而不是 System.Net.Mail,因为它允许我正确地执行此操作(就像大多数其他 SMTP 库一样)。对于 aspNetEmail,这是使用 EmailMessage.ReversePath 属性完成的。

最佳答案

MailMessage.Sender 将始终插入一个 Sender header (在您的电子邮件客户端中解释为代表)。

如果您在SmtpClient 上使用Network 传递方法,.Sender 也会更改信封中的发件人。使用 PickupDirectoryFromIis 传递方法会将其留给 IIS 来确定信封发件人,并且 IIS 将使用 From 地址,而不是 Sender 地址。

There's a similar question on MSDN here.

关于c# - 如何使用 System.Net.Mail 设置 SMTP 信封 MAIL FROM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51793/

相关文章:

c# - C++/CLI System.Timers.Timer 在将 Interval 设置为 100ms 时已过去 20 秒

c# - Monitor.TryEnter 始终返回 true,即使在 Monitor.Enter 之后也是如此

c# - 像谷歌地图一样的图像 move

c# - 有谁知道用于Windows Phone的OCRing 7段显示器的任何API?

c# - 在 ListView 的特定列中搜索

docker - 延迟 : Temporary AUTH failure with SMTP Relay over port 587

c# - 如何检查 Windows Phone 中 XMLNode 是否存在

c# - 如何使用 .Net 反射按忽略大小写的名称搜索属性?

c# - System.Net.Mail.SmtpException : Failure sending mail. 无法从传输连接读取数据

java - 如何使用 JavaMail API 接收已发送电子邮件的确认信息?