2009-09-01 70 views
0

我需要从System.Net.Mail.MailMessage中删除SMTP头。具体来说,包含有关环境MailMessage的信息的标头源自于。如何以编程方式从System.Net.Mail.MailMessage中删除SMTP标头?

我已经试过检查MailMessage之前,它是由SmtpClient发送,但没有设置标题(它们设置在稍后阶段)。

这可以在.NET Framework 3.5中完成,还是需要第三方SMTP库?

编辑: 这是托管我正在工作的网站的托管公司所要求的。他们说这是保护内部网络布局信息所必需的。

这通常被认为是不好的做法?什么是潜在的副作用?

+1

看起来像一个奇怪的,有点可疑的目标。你能否提供更多关于你为什么要这样做的信息,并且可能有人愿意提供帮助。 – Lazarus 2009-09-01 12:28:53

回答

1

您可以指定PickupDirectoryLocation属性(请参阅http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.pickupdirectorylocation.aspx)而不是使用SMTP服务器IP吗?然后循环生成的电子邮件,删除标题项目,然后复制到SMTP传入目录?如果您可以将文件复制到他们的SMTP服务器传入目录中,以查看他们是否可能支持此方法,则需要询问您的虚拟主机。

我可以有点了解他们的担忧,但我从未听说过这种情况发生过。至少不是由开发人员。这似乎是他们的SMTP主机应该具备的能力。我可以假设他们想要隐藏他们的SMTP主机或邮件服务器软件版本等的名称。但我甚至不知道是否可以这样做,因为我总是认为这些标头是由SMTP主机添加的,而不是通过我们(作为开发人员)编写的任何代码。

+0

感谢Jim W.我会进一步调查。 – 2009-09-02 07:58:27

0

我做了一些更多的测试,它看起来像是由SMTP服务器生成的,而不是由.NET Framework生成的。

+1

这就是我一直以来的想法。感谢您的确认。 – 2009-09-02 23:21:07

相关问题