|
Отправка почты через CDO.Message | ☑ | ||
---|---|---|---|---|
0
undertaker
14.02.12
✎
13:26
|
добрый день.
Пытаюсь наладить отправку почты через CDO.Message (типовые возможности 1С не поддерживают нужную авторизацию). вот такой текст ТабОтчет = Документы.Заявка.ПечатьЗаявка(МассивДокументов, Неопределено); ИмяФайла = Новый УникальныйИдентификатор; ИмяФайла = КаталогВременныхФайлов() + ИмяФайла + ".html"; Файл = Новый Файл(ИмяФайла); Если Файл.Существует() Тогда Попытка УдалитьФайлы(ИмяФайла); Исключение КонецПопытки; КонецЕсли; Текст = Новый ТекстовыйДокумент(); Попытка ТабОтчет.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.HTML4); Текст.Прочитать(ИмяФайла); Исключение Текст.ДобавитьСтроку("Не удалось сохранить/прочитать файл отчета!"); Неудача = Истина; КонецПопытки; СистемнаяУчетнаяЗапись = РаботаСПочтовымиСообщениями.ПолучитьСистемнуюУчетнуюЗапись(); Если НЕ СтрокаВнешнихПолучателей = "" Тогда 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 = СистемнаяУчетнаяЗапись.ВремяОжидания; 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.Configuration.Fields.Update(); Исключение Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; iMsg.DSNOptions = 2; iMsg.To = СтрокаВнешнихПолучателей; iMsg.From = СистемнаяУчетнаяЗапись.АдресЭлектроннойПочты; iMsg.Subject = Строка(Заявка); iMsg.HTMLBody = Текст.ПолучитьТекст(); //iMsg.addAttachment(ИмяФайла); Попытка iMsg.Send(); Исключение Сообщить(ОписаниеОшибки()); КонецПопытки; КонецЕсли; при этом на гмэил нормально все приходит, а в аутлук на корпоративную почту - в корявой кодировке. Как можно исправить? |
|||
1
undertaker
14.02.12
✎
15:38
|
вопрос решился добавлением
iMsg.HTMLBodyPart.Charset = "windows-1251"; |
|||
2
Леха Дум
14.02.12
✎
15:44
|
стоит вписать код в книгу знаний
|
|||
3
andrewks
14.02.12
✎
15:46
|
(2) было уже, вроде
|
|||
4
undertaker
14.02.12
✎
15:59
|
кстати, отправка этим способом гораздо быстрее работает, чем отправка штатными средствами 1С
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |