[英]System.Net.Mail replacing linefeeds in AlternateView content with spaces
我正在使用System.Net.Mail发送ics会议/日历邀请。 ics中的行终止符(0D 0A)替换为收到的电子邮件中的空格(20 20)。 我已经用Google搜索解决方案,并尝试了以下代码的一些变体,但似乎都没有一个能解决此问题。 有任何想法吗?
System.Net.Mail.MailMessage m = new System.Net.Mail.MailMessage();
System.Net.Mime.ContentType ct = new System.Net.Mime.ContentType("text/calendar");
ct.Parameters.Add("method", "REQUEST");
ct.Parameters.Add("name", "meeting.ics");
AlternateView avCal = AlternateView.CreateAlternateViewFromString("<<data>>",ct);
avCal.TransferEncoding = System.Net.Mime.TransferEncoding.SevenBit;
m.AlternateViews.Add(avCal);
采用
AlternateView htmlView = AlternateView.CreateAlternateViewFromString(body, System.Text.Encoding.UTF8, MediaTypeNames.Text.Html);
没关系。 我的糟糕...进一步的调试显示,该问题与编码或邮件部分无关。 实际上看起来换行符在SQL数据库和应用程序之间的某个地方显示乱码。 感谢所有发表建议的人!
您是否尝试过将重载用于接受编码和MediaType的AlternateView.CreateAlternateViewFromString
? 我用:
AlternateView htmlView = AlternateView.CreateAlternateViewFromString(
htmlBody, Encoding.UTF8, MediaTypeNames.Text.Html);
对我来说似乎正常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.