繁体   English   中英

System.Net.Mail用空格替换AlternateView内容中的换行符

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM