2014-09-22 3 views
1

Я пытаюсь добавить новое событие в календарь Lotus Notes, отправляя почту с помощью C#. Все работает нормально, но я хочу установить тип объявления «Событие» вместо «Встреча».Новый iCalendar «Анонс событий» на C#

Вот мои Микросхемы до сих пор

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

Не знаете, что вы подразумеваете под «сообщением о событии», но если люди не должны принимать/отклонять приглашение, вы хотите использовать METHOD:PUBLISH вместо METHOD:REQUEST. Это подразумевает, что вы также должны удалить свойство ATTENDEE. См. http://tools.ietf.org/html/rfc5546#section-3.2.1

+0

Я узнал, что (в Lotus Notes) «объявление о событии» похоже на собрание, но не получает ответов от приглашенных. Это то, что меня интересует, как избежать того, чтобы организатор получал почту, когда кто-то принимал/отклонял встречу. Проблема решена с использованием МЕТОДА: PUBLISH, спасибо! – Brazorf

+0

У меня теперь есть новая проблема. Все работает нормально, я получаю почту, и она создает событие в моем календаре, но тогда я не могу удалить/отклонить это новое событие с помощью Lotus Notes! Heeeelp !! – Brazorf

+0

Хмм, не могу помочь вам с конкретными вопросами Lotus Notes, извините. – arnaudq

Смежные вопросы