当您使用 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
地址。
关于c# - 如何使用 System.Net.Mail 设置 SMTP 信封 MAIL FROM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51793/