.net – 在Outlook 2010 / Office 365中无法识别附件的会议邀请

我们有一个.NET应用程序,可以手动生成会议邀请以发送给用户.我们使用的过程如下:

>创建System.Net.Mail.MailMessage并设置常用字段(从/到/ subject / etc)
会议信息作为附件(ICS文件),7位编码 – 这对于无法识别Outlook风格的邀请的邮件客户端是必要的
>添加两个备用视图,text / plain和text / html,均为电子邮件文本的7位编码
>添加另一个带有“text / calendar; charset = UTF-8; method = REQUEST”的备用视图,其ICS文本与上面附带的ICS文件相同,也是7bit编码
>发送消息

这与传统的Outlook 2007 / Exchange设置(附件不可见,消息被视为会议请求)一起工作正常,但是一旦我们升级到Outlook 2010 / Office 365,就无法识别嵌入式ICS数据并显示消息作为附加了ICS文件的常规消息.删除附件会生成正确识别的消息.我们不确定它是导致更改的新Outlook版本还是Office 365,但它必须是其中之一.

有谁知道为什么这会改变以及我们如何解决它?

最佳答案 我们遇到了类似的问题.在我们的案例中,我们的邮件服务器从Exchange 2003升级到Exchange 2010,我们公司将一些人的电子邮件帐户迁移到2010年.我们仍然使用outlook 2007作为前端.我们有一个.NET应用程序,可以将会议邀请创建为Alernative View并将其发送给收件人.那些已迁移电子邮件帐户的人不再接收邀请作为会议请求,而只是普通电子邮件.那些留在2003年交换中的人没有问题作为会议请求获得邀请.我在网上搜索,发现Exchange 2010改变了它处理.ics文件的方式,它比以前的版本更具限制性.最糟糕的是它没有遵循RFC标准,并且微软认为,试图找出哪个部分阻止他们的交换2010正确解释.ics并不是他们的关注.所以我的解决方法是不发送.ics作为替代视图,而是将其作为附件发送.当在已迁移到2010的电子邮件帐户中收到该附件时,用户可以看到该附件,并且用户可以单击该附件以将其导入其日历.

点赞