SMTP提供程序C#代码:
MailMessage Mail;
Mail.Attachments.Clear();
Byte[] bytes = System.Text.Encoding.ASCII.GetBytes(strICSData);
var ms = new MemoryStream(bytes);
var a = new Attachment(ms, "meeting111.ics", "text/calendar");
a.ContentDisposition.Inline = true;
Mail.Attachments.Add(a);在这里,a.ContentDisposition.Inline获取或设置一个System.Boolean值,该值确定电子邮件附件的配置类型(内联或附件)。
上面的代码运行良好,并将我的会议映射到outlook日历,如下所示。
发送邮件后查找smtp屏幕快照:

邮戳提供商C#代码:
我也使用邮戳提供商的邮件,但我没有找到任何a.ContentDisposition.Inline = true;功能。
请查找以下邮戳代码:
PostmarkMessage message;
message.Attachments.Clear();
byte[] bytes = System.Text.Encoding.ASCII.GetBytes(strICSData);
var ms = new MemoryStream(bytes);
message.AddAttachment(ms, "meeting111.ics", "text/calendar");
Below line, Adds a file stream with inline support:
message.AddAttachment(ms, "meeting.ics", "text/calendar");谁能给我提供解决方案,以便邮戳附件将映射到outlook日历。
发布于 2018-01-12 19:26:03
为了通过API获得更好的outlook兼容性,您需要为附件设置ContentID,如下所示:
attachment.ContentID = "cid:meeting.ics“
所以我们必须改变
message.AddAttachment(ms,"meeting.ics",“文本/日历”);
到
message.AddAttachment(ms,"meeting.ics",“文本/日历”,"cid:meeting.ics");
https://stackoverflow.com/questions/48207072
复制相似问题