要开始,请参阅RFC 2822的2.1.1和2.2.3节
如果标题字段的内容超过最大长度限制,System.Net.Mail.MailMessage是否会自动折叠标题字段?RFC2822规定标题字段每行不得超过998个字符。为了解决这个问题,可以插入CRLF,让一个标题字段占据多行。
有什么想法?
发布于 2010-08-24 01:53:01
至少在使用SmtpClient发送之前,MailMessage类不会执行任何自动折叠。只有在发送邮件时,.NET才会自动折叠报头字段以构造MIME邮件。您可以在消息发送后访问MailMessage.Headers进行检查。
根据报头字段是否需要预先编码,折叠可以在几个位置发生。例如,如果主题包含非US-ASCII字符,则必须以Base64或Q编码进行编码。在这种情况下,负责编码的类也会进行折叠。
如果您使用Reflector,您可以查看MailWriter类,它是执行折叠的类之一,并且至少在.NET 2.0中,它使用RFC2822中指定的建议的默认行限制,即每行78个字符。
每行字符不能超过998个字符,并且不能超过78个字符,不包括CRLF.
https://stackoverflow.com/questions/3549598
复制相似问题