我们正在.Net中创建一个应用程序,目前处于最后阶段,需要通过SMTP注入电子邮件,同时在“电子邮件标题”中设置各种选项。
我们关注的三个值是:
目前在我们的代码中我们有:
BodyMessage.Sender = new MailAddress(bounce_address);
('bounce_address'是我们希望退回的地址。)
此代码似乎设置了返回路径和发件人。
但是,我们希望这些值不同。
我们可以使用一个值,以便在发送消息时我们可以将返回路径指定为一个而发送者是另一个吗?
我们尝试了这个,但它不起作用:
BodyMessage.Headers.Add("Sender", "1234567@example.com");
该代码完全被忽略。
有什么想法吗?
对于消息ID,我们尝试了这个:
BodyMessage.Headers.Add("Message-ID", "abcdefgh@sample.com");
但是,这也被忽略了。
但是,如果我们指定自定义标头值,例如“X-Message-ID”,则此代码有效:
BodyMessage.Headers.Add("X-Message-ID", "abcdefgh@sample.com");
但是,这不是我们想要的,因为我们不想添加额外的电子邮件标题项,而是提供主要的message-id标头元素。
非常感谢任何帮助。
提前致谢!
答案 0 :(得分:1)
当我遇到类似的问题时(在它们引入ReplyTo集合之前,它曾经只是一个单项),我最终使用第三方SMTP库并完全停止使用.NET库。我发现基本上没有办法覆盖默认行为 - 它们特别禁止你自己设置这些标题。 (由于某种原因,我没有掌握)
正如该图书馆的作者所承认的那样,这里和那里的边缘很粗糙,在使用它之前我必须自己擦亮它。但最终我成功了。
PS。您可以使用任何.NET电子邮件库,不一定是DnSmtp。或者你可以编写自己的SMTP客户端(有点乏味,但可能)。