2012-07-20 19 views
0

我使用c#从我的asp.net应用程序发送邮件。如何将Content-Transfer-Encoding设置为asp.net中的8位

我的代码的一部分

Message.SubjectEncoding = Message.BodyEncoding = System.Text.Encoding.UTF8; 

这个发送字符集 = UTF-8,但内容传输编码:BASE64

我已经通过Problem sending email with SmtpClient in C#走了,但我还没有找到如何将Content-Transfer-Encoding设置为8位

+0

据我所知,SMTP是一个只支持纯ASCII的7位协议。因为它将8位数据转换为7位,所以Base64是一种解决方法。什么是实际的_problem_? – Nyerguds 2018-01-09 09:22:04

回答

0

我知道这是一个老问题,但它是一个有趣的问题。

我已经找到了解决办法在这里: https://idevelopdotnet.wordpress.com/2009/03/04/content-transfer-encoding-systemnetmailmailmessage/

基本上,你必须使用AlternateViews,因为那么你可以设置内容传输编码。只有7bit,而不是8bit,但这对我来说已经足够好了。

我不确定为什么MS做了这样的混乱,但花了我几个小时找到正确的配方,发送HTML和纯文本的方式,他们应该发送。

相关问题