0

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

约会从 Outlook 发送

如果从屏幕截图中看不清楚,在这种情况下,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 中收到时,它被视为附件:

预约

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

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

因此,我怀疑我想要实现的行为是在 ICS 文件中进行控制,winmail.dat而不是使用 ICS 文件中的参数。

我还必须补充一点,我的代码是用 JAVA 编写的,在阅读winmail.dat时我发现了一个JAVA 库,它可以创建winmail.dat. 但我不知道二进制格式中的什么属性会触发这种行为。

我的第一个问题是:

  • 我可以只使用文本邮件来模拟这种行为吗?

第二个问题是:

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

1 回答 1

1

如果您将邀请作为内容类型为“文本/日历;方法=请求”的 MIME 消息发送,Outlook 将非常高兴。
没有理由使用 winmail.dat。

于 2013-01-28T18:15:32.163 回答