2014-11-04 87 views
0

我正在使用.NET 4.0应用程序,它使用System.Web.Mail.SmtpMail类来发送我们生成的电子邮件,指定的BodyFormat为MailFormat.Html.NET SmtpMail与.NET相比SmtpClient

这种方法的问题是,当我们生成电子邮件时(使用MailFormat.Html),协议似乎只允许每行76个字符。一旦超过这个限制,该行的其余部分似乎被切断,并在其位置上呈现感叹号。

这对我们来说是有问题的,并且使代码极难改进和重构。我注意到Visual Studio抱怨SmtpMail类已经过时,推荐的替代方法是System.Net.Mail.SmtpClient类。我一直在想,改变使用新的类是否会提供任何改进,特别是在任何单行上可以存在的字符数量方面 - 或者这是SMTP协议无法克服的问题。

文档对于这两个类都存在,但没有描述类之间的差异以及这两者之间的功能和行为如何不同。

任何人都可以提供有关发送电子邮件的过时类和新类的区别以及是否有可能克服每行76个字符限制的建议。

谢谢

+0

从MSDN有关'System.Web.Mail'命名空间:'这个命名空间中的类已过时。使用System.Net.Mail命名空间替代' – jgauffin 2014-11-04 13:32:39

+0

这是如何重复的?我的问题包含关于API中字符限制的特定查询,其他所谓的重复问题不回答此查询。 – 2014-11-04 14:08:55

+0

另外一个涉嫌重复问题本身被标记为其他参考问题之一的重复。 – 2014-11-04 14:16:37

回答

1

我可以从经验告诉你,有使用System.Net.Mail没有字符行限制。建议使用,System.Web.Mail已过时。前进的道路是明确的。

至于特定的API差异,System.Web.Mail是基于COM的,而System.Net.Mail是完全托管代码。如果您想查看不同的功能/属性名称,则可以使用MSDN文档。