|
1c8 и Icalendar | ☑ | ||
---|---|---|---|---|
0
Greeen
08.10.15
✎
16:57
|
Добрый день! Господа, никто не сталкивался с созданием встреч в Outlook через Icalendar формат? Что то не дается, письмо с виду вроде более-менее нормально уходит, но в Outlook пишет, что Не удается найти событие в календаре =(
Листинг: ТекстТемы = "Отпуск сотрудника "; ТекстСообщения = "BEGIN:VCALENDAR |VERSION:2.0 |PRODID:-dff |METHOD:REQUEST |BEGIN:VEVENT |UID:" + ТекущаяДата() + " |DTSTAMP:20150907T121816Z |DTSTART:20151022T090000 |DTEND:20151022T100000 |SUMMARY:TEST |DESCRIPTION: test |END:VEVENT |END:VCALENDAR"; ДД = новый ТекстовыйДокумент; Дд.УстановитьТекст(ТекстСообщения); Дд.Записать(КаталогВременныхФайлов() + "calendar.ics"); iMsg = Новый COMОбъект("CDO.Message"); iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing").Value = 2; iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value = Константы.SMTPСервер.Получить(); iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport").Value = Константы.ПортSMTP.Получить(); iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").Value = 2; // 0 - Do not authenticate; 1 - basic (clear-text) authentication; 2 - NTLM iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout").Value = 30; iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername").Value = Константы.ЛогинSMTP.Получить(); iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword").Value = Константы.ПарольSMTP.Получить(); iMsg.Configuration.Fields.Item("\http://schemas.microsoft.com/cdo/configuration/smtpusessl").Value = 1; iMsg.BodyPart.Charset = "utf-8"; iMsg.Fields.Item("urn:schemas:mailheader:content-type").Value = "text/calendar"; iMsg.Fields.Item("urn:schemas:mailheader:Content-Disposition").Value = "inline; filename=calendar.ics"; Попытка iMsg.Configuration.Fields.Update(); Исключение Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; iMsg.DSNOptions = 2; iMsg.To = "";//соотв. адрес iMsg.From = Константы.АдресЭлектроннойПочты.Получить(); iMsg.Subject = "test"; iMsg.HTMLBody = "<b> Привет!</b>"; iMsg.addAttachment(КаталогВременныхФайлов() + "calendar.ics"); Попытка iMsg.Send(); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; |
|||
1
Лефмихалыч
08.10.15
✎
17:06
|
выгрузи такое же событие из аутлука в icalendar и сравни
|
|||
2
Greeen
12.10.15
✎
12:48
|
(1) Спасибо! Дело в хедерах все было сообщения этого.
На всякий случай, рабочий листинг кода оставляю ТекстТемы = "Отпуск сотрудника "; ТекстСообщения = "BEGIN:VCALENDAR |VERSION:2.0 |PRODID:Microsoft Exchange Server 2010 |METHOD:REQUEST |BEGIN:VEVENT |UID:test" + ТекущаяДата() + " |ORGANIZER:MAILTO: <ящик> |STATUS:DRAFT |CLASS:PUBLIC |DTSTAMP:20151001T121816Z |DTSTART:20151001T090000 |DTEND:20151022T100000 |SUMMARY: Всем привет! |DESCRIPTION: Баден=баден |END:VEVENT |END:VCALENDAR"; iMsg = Новый COMОбъект("CDO.Message"); MailConfig = Новый COMОбъект("CDO.Configuration"); iMsg.Configuration = MailConfig; iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing").Value = 2; iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value = Константы.SMTPСервер.Получить(); iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport").Value = Константы.ПортSMTP.Получить(); iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").Value = 2; // 0 - Do not authenticate; 1 - basic (clear-text) authentication; 2 - NTLM iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout").Value = 30; iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername").Value = Константы.ЛогинSMTP.Получить(); iMsg.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword").Value = Константы.ПарольSMTP.Получить(); iMsg.Configuration.Fields.Item("\http://schemas.microsoft.com/cdo/configuration/smtpusessl").Value = 1; MailConfig.Fields.Update(); iMsg.DSNOptions = 2; iMsg.To = <ящик>;//соотв. адрес iMsg.From = Константы.АдресЭлектроннойПочты.Получить(); iMsg.Subject = "test"; iMsg.textbody =ТекстСообщения; iMsg.Fields.Item("urn:schemas:mailheader:content-type").value = "text/calendar; method=REQUEST; charset=""utf-8"""; iMsg.Fields.Update(); iMsg.Fields.Resync(); Попытка iMsg.Send(); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |