将winmail格式发送到Outlook并触发Confirmitaion(电子邮件和ics不应分开)

时间:2013-01-23 14:10:31

标签: java outlook icalendar

我想知道是什么让Outlook以下列方式响应从另一个Outlook发送的邀请:

AppointmentSentFromOutlook

如果屏幕截图中没有清楚,在这种情况下,Outlook会要求我确认我的出席情况。

我有一个发送ICAL文件的程序。 ICAL文件作为附件正确发送。 该文件如下所示:

我有一个发送ICAL文件的程序。 ICAL文件作为附件正确发送。

BEGIN:VCALENDAR
PRODID:TODO
VERSION:2.0
METHOD:PUBLISH
BEGIN:VEVENT
CLASS:PUBLIC
DESCRIPTION:Parameter: Value\nAuftrags-Nr.: \nVorschrift: 12\nZyklus: 12\nKommentar_1: \nKommentar_2: \nKommentar_3: 12\nPr?fstand: TODO\nV-Nr.: \nSMKL: 2\nDatum-Startzeit: TODO\nModel-Typschluessel: TODO\nCoastDowm: TODO\nBerechnen:
+TODO\nKommentar_4: TODO\nKommentar_5: TODO\nSchaltpunkttabelle: TODO\nAdd Test: TODO\nAdd Messtechnik: TODO\nKonfiguration MT: TODO\nAnwesenheit SB: TODO\n
ATTENDEE;CN=Pr?fstand; RSVP=TRUE:oz@domain.com
DTSTART:20130123T131951Z
DTEND:20130123T151951Z
DTSTAMP:20130123T131956Z
LOCATION:12
ORGANIZER;CN=wurst:MAILTO:wurst@wurstkeuche.de
PRIORITY:5
SEQUENCE:0
SUMMARY;LANGUAGE=de:Abgastest
TRANSP:OPAQUE
UID:ac4fc017-0944-4f9f-bfd1-3ffc07b486a9
X-MICROSOFT-CDO-BUSYSTATUS:FREE
X-MICROSOFT-CDO-IMPORTANCE:1
X-MICROSOFT-DISALLOW-COUNTER:TRUE
X-MS-OLK-ALLOWEXTERNCHECK:TRUE
X-MS-OLK-AUTOFILLLOCATION:FALSE
X-MS-OLK-CONFTYPE:0
BEGIN:VALARM
TRIGGER:-PT15
ACTION:DISPLAY
DESCRIPTION:Reminder
END:VALARM
END:VEVENT
END:VCALENDAR

在Outlook中收到时,它被视为附件:

Appointment

我查看了电子邮件属性并设法找到以下差异: Outlook在一些二进制文件中发送约会:

Content-Type: application/ms-tnef; name="winmail.dat" 
Content-Transfer-Encoding: binary

我的程序发送:

Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

当我将“正确”的约会电子邮件(使用“winmail.dat”类型)从Outlook转发给我并用mutt打开时,我看到以下内容,该电子邮件由几部分组成:

  I     1 <no description>              [multipa/alternativ, 7bit, 8.1K]
  I     2 ├─><no description>           [text/plain, base64, utf-8, 1.4K]
  I     3 ├─><no description>           [text/html, base64, utf-8, 2.8K]
  I     4 └─><no description>           [text/calendar, base64, utf-8, 3.3K]

如果我将相同的邮件转发给mutt,再次回到Outlook,它看起来像这样:

backFromMutt

邮件的内容是:

Content-Type: multipart/mixed; boundary="bKyqfOwhbdpXa4YI"
Content-Disposition: inline

所以,我怀疑我想要实现的行为是winmail.dat内部的控制,而不是ICS文件中的参数。

我还必须添加,我的代码在JAVA中,阅读winmail.dat我找到了JAVA library that creates winmail.dat。但我不知道二进制文件中的属性是什么 格式将触发此行为。

我的第一个问题是:

  • 我是否可以仅使用短信模拟此行为?

第二个问题是:

  • 如果你不能用纯文本模拟这种行为(可能不是),有人知道要以二进制格式设置的正确属性吗?

1 个答案:

答案 0 :(得分:1)

如果您将邀请作为内容类型为“text / calendar; method = REQUEST”的MIME邮件发送,Outlook将非常高兴。
没有理由使用winmail.dat。