我正在尝试将新事件添加到使用c#发送邮件的Lotus Notes日历中。 一切正常,但我想设置“事件公告”类型而不是“会议”。
到目前为止,这是我的.ics
StringBuilder bodyCalendar = new StringBuilder();
bodyCalendar.AppendLine("BEGIN:VCALENDAR");
bodyCalendar.AppendLine("METHOD:REQUEST");
bodyCalendar.AppendLine("PRODID:Microsoft CDO for Microsoft Exchange");
bodyCalendar.AppendLine("VERSION:2.0");
bodyCalendar.AppendLine("BEGIN:VEVENT");
bodyCalendar.AppendLine("DTSTAMP:{8}");
bodyCalendar.AppendLine("DTSTART:{0}");
bodyCalendar.AppendLine("SUMMARY:{7}");
bodyCalendar.AppendLine("UID:{5}");
bodyCalendar.AppendLine("ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=\"{9}\":MAILTO:{9}");
foreach (MailAddress attendee in attendeeList)
{
bodyCalendar.AppendLine("ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=\"" + attendee + "\":MAILTO:" + attendee);
}
bodyCalendar.AppendLine("ACTION;RSVP=TRUE;CN=\"{4}\":MAILTO:{4}");
bodyCalendar.AppendLine("ORGANIZER;CN=\"{3}\":mailto:{4}");
bodyCalendar.AppendLine("LOCATION:{2}");
bodyCalendar.AppendLine("DTEND:{1}");
bodyCalendar.AppendLine("DESCRIPTION:{7}\\N");
bodyCalendar.AppendLine("SEQUENCE:1");
bodyCalendar.AppendLine("PRIORITY:5");
bodyCalendar.AppendLine("CLASS:");
bodyCalendar.AppendLine("CREATED:{8}");
bodyCalendar.AppendLine("LAST-MODIFIED:{8}");
bodyCalendar.AppendLine("STATUS:CONFIRMED");
bodyCalendar.AppendLine("TRANSP:OPAQUE");
bodyCalendar.AppendLine("X-MICROSOFT-CDO-BUSYSTATUS:BUSY");
bodyCalendar.AppendLine("X-MICROSOFT-CDO-INSTTYPE:0");
bodyCalendar.AppendLine("X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY");
bodyCalendar.AppendLine("X-MICROSOFT-CDO-ALLDAYEVENT:FALSE");
bodyCalendar.AppendLine("X-MICROSOFT-CDO-IMPORTANCE:1");
bodyCalendar.AppendLine("X-MICROSOFT-CDO-OWNERAPPTID:-1");
bodyCalendar.AppendLine("X-MICROSOFT-CDO-ATTENDEE-CRITICAL-CHANGE:{8}");
bodyCalendar.AppendLine("X-MICROSOFT-CDO-OWNER-CRITICAL-CHANGE:{8}");
bodyCalendar.AppendLine("BEGIN:VALARM");
bodyCalendar.AppendLine("ACTION:DISPLAY");
bodyCalendar.AppendLine("DESCRIPTION:REMINDER");
bodyCalendar.AppendLine("TRIGGER;RELATED=START:-PT00H15M00S");
bodyCalendar.AppendLine("END:VALARM");
bodyCalendar.AppendLine("END:VEVENT");
bodyCalendar.AppendLine("END:VCALENDAR");
我尝试在行
中使用0和1值bodyCalendar.AppendLine("X-MICROSOFT-CDO-INSTTYPE:0");
但没有改变。有什么想法吗?
谢谢!
答案 0 :(得分:0)
不确定“事件公告”的含义,但如果人们不接受/拒绝邀请,您希望使用METHOD:PUBLISH
代替METHOD:REQUEST
。这隐含意味着您还应该删除ATTENDEE
属性。见http://tools.ietf.org/html/rfc5546#section-3.2.1