为什么我的iCalendar邀请不受前景嗅探器处理? [英] Why are my icalendar invitations not processed by the outlook sniffer?

查看:182
本文介绍了为什么我的iCalendar邀请不受前景嗅探器处理?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的ASP.net应用程序,作为电子邮件发送的.ics与附件到Outlook 2010生成的邀请,不是由嗅探器处理。因此,它们没有出现在日历作为暂定,并且不是在预览窗格中提供。请在.ics附件似乎是有效的,可以在Outlook中通过双击打开。发送到Gmail的邀请函一样处理无后顾之忧。我已经排除了一些接受的解决办法,以同样的问题...

Invitations generated by my ASP.net application, sent as email with .ics attachment to Outlook 2010, are not being processed by the sniffer. As such, they are not appearing as tentative in the calendar, and are not available in the preview pane. The .ics attachment appears to be valid and can be opened in outlook by double clicking. The same invitations sent to Gmail are processed no worries. I have ruled out a number of accepted solutions to the same problem...


  • 的Outlook的配置是否正确,并处理Gmail的邀请函没有问题

  • 的消息作为内容类型:!多部分/混合,带有附件的文本/日历

  • DTEND如下DTSTART

  • 邀请包括组织者和参加者。

  • Outlook is correctly configured, and processes Gmail invitations no problem
  • The message is sent as Content-Type: multipart/mixed, with the attachment as text/calendar.
  • DTEND follows DTSTART !
  • The invitation includes an organizer and an attendee.

我的邀请和Gmail的之间最明显的区别是没有一个DKIM签名的,但其他人已经成功没有这个。更一般地,有没有人发现了大约嗅探器的操作,记录或排除任何微软的文档?

The most obvious difference between my invitations and Gmails' is the absence of a DKIM signature, but others have succeeded without this. More generally, has anyone found any microsoft documentation about the operation, logging or troubleshooting of the sniffer?

这是我的.ics附件。

This is my .ics attachment.

BEGIN:VCALENDAR
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:REQUEST
BEGIN:VEVENT
DTSTART:20140617T083644Z
DTEND:20140617T093644Z
DTSTAMP:20140617T083647Z
ORGANIZER;CN=sby@dimo-gestion.fr:mailto:sby@dimo-gestion.fr
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=
 FALSE;CN=bbsimonbb@gmail.com;X-NUM-GUESTS=0:mailto:bbsimonbb@gmail.com
CREATED:20140617T083647Z
DESCRIPTION:Description of flying to Sligo
LAST-MODIFIED:20140617T083647Z
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Fly to Sligo
TRANSP:OPAQUE
UID:20140617T083647Z
END:VEVENT
END:VCALENDAR

属性的 X-MS-白斑-FORCEINSPECTOROPEN ,指定的这里,并没有帮助。

The property X-MS-OLK-FORCEINSPECTOROPEN, specified here, hasn't helped.

我的文件通过mentionned三的iCalendar验证在这个问题

My file passes the three iCalendar validators mentionned in this question

我的上帝互联网是堵塞了民间谁也不能得到他们的邀请到Outlook中。
这里,<一个HREF =htt​​p://stackoverflow.com/questions/23656802/set-content-type-of-mail-message-for-ical-attachment-to-text-calendar-method-r>此处,和这里

My god the internet is clogging up with folk who can't get their invitations into Outlook. Here, here, and here.

共识似乎是,你需要添加;在日历MIME部分标题中的内容类型后的方法=请求。麻烦的是,.NET System.Net.Mail库似乎并没有提供低级别的访问权限设置这一行。狩猎继续。

The consensus seems to be that you need to add "; method=REQUEST" after the content type in the header of the calendar MIME part. Trouble is, the .net System.Net.Mail library doesn't seem to offer low level access to set this line. The hunt continues.

推荐答案

好,我胜出了。这对我工作的解决方案是两个建议相结合的这里。文本/日历部分必须是消息的唯一部分,和方法=请求必须出现在Content-Type头。

Ok I've cracked it. The solution that's worked for me is the combination of the two suggestions here. The text/calendar part must be the only part of the message, and method=REQUEST must be present in the Content-Type header.

要在.NET中实现这一点,您可以使用AlternateViews如下...

To achieve this in .net, you can use AlternateViews as follows...

MailMessage msg = new MailMessage();
msg.From = new MailAddress("gonzo@work");
msg.To.Add("gonzo@home");

System.Net.Mime.ContentType mimeType = new System.Net.Mime.ContentType("text/calendar; method=REQUEST");
AlternateView icalView = AlternateView.CreateAlternateViewFromString(icalendarString, mimeType);
icalView.TransferEncoding = TransferEncoding.SevenBit;
msg.AlternateViews.Add(icalView);
client.Send(msg);



不错位的是,在没有主体,附件或其他替代的意见,.NET是足够聪明构建一个与邮件的只是其中的一部分的。使用alternateView仍然是必要的,因为这是控制Content-type头的唯一途径。这一招可能是别人谁想要建立一个简单的单部分邮件的Content-Type在.NET中非常有用。由此产生的邮件,那么,看起来像这样...

The nice bit is that, in the absence of a body, attachments or other alternate views, .net is clever enough to construct a mail with just one part. Using an alternateView remains necessary, because it's the only way to control the Content-type header. This trick could be useful for anyone else who wants to set the Content-Type of a simple single-part mail in .net. The resulting mail, then, looks like this...

MIME-Version: 1.0
From: gonzo@work
To: gonzo@home
Subject: Fly to Sligo
Content-Type: text/calendar; method=REQUEST
Content-Transfer-Encoding: 7bit

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//www.notilus.com//Dimo Gestion Notilus//FR
CALSCALE:GREGORIAN
METHOD:REQUEST
X-MS-OLK-FORCEINSPECTOROPEN:TRUE
BEGIN:VEVENT
DTSTART:20140619T080132Z
DTEND:20140619T090132Z
DTSTAMP:20140619T080132Z
ORGANIZER;CN=gonzo@work:mailto:gonzo@work
ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=
 FALSE;CN=gonzo@home;X-NUM-GUESTS=0:mailto:gonzo@home
CREATED:20140619T080132Z
DESCRIPTION:Description of flying to Sligo
X-ALT-DESC;FMTTYPE=text/html:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//E
 N">\n<html>\n<body>\n<table border="1"><tr><td>\n<b>HTML</b> Description o
 f flying to Sligo\n</td></tr><tr><td>\n<ul><li>HTML has certain advantages
 </li></ul>\n</td></tr></table>\n</body>\n</html>
LAST-MODIFIED:20140619T080132Z
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Fly to Sligo
TRANSP:OPAQUE
UID:20140619T080132Z
END:VEVENT
END:VCALENDAR

非常感谢你Gmail中,毫不费力地为构建一个工作示例,并为神奇秀原选项。如上所述,谷歌以某种方式管理有一个更复杂的信息处理正确,但你需要一个谷歌程序员明白这一点。

A big thank you to gmail, for effortlessly constructing a working example, and for the marvelous "show original" option. As discussed above, google somehow manages to have a much more complicated message processed correctly, but you need to be a google programmer to figure that out.

这篇关于为什么我的iCalendar邀请不受前景嗅探器处理?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆