![]() |
![]() |
|
Уведомление о прочтении/доставке почты в 1С 8.1 | ☑ | ||
---|---|---|---|---|
0
Romasini
09.12.10
✎
16:41
|
Есть проблема: нужно при отправлении интернет почтовых сообщений из 1С 8.1 чтобы у получателя создавались уведомления о прочтении/доставке и слались на третий ящик (т.е. подставлялся другой адрес получателя уведомления).
Код такой: ЭлПисьмо = Новый ИнтернетПочтовоеСообщение; ЭлПисьмо.Тема = "Отправка"+ОбщегоНазначения.СформироватьЗаголовокДокумента(ЭтотОбъект)+" по почте "+ЭтотОбъект.Организация.НаименованиеПолное; ЭлПисьмо.ИмяОтправителя = УчетнаяЗапись.АдресЭлектроннойПочты; ЭлПисьмо.Отправитель.Адрес = УчетнаяЗапись.АдресЭлектроннойПочты; ЭлПисьмо.ОбратныйАдрес.Добавить(УчетнаяЗапись.АдресЭлектроннойПочты); ЭлПисьмо.УведомитьОДоставке = Истина; ЭлПисьмо.УведомитьОПрочтении = Истина; ЭлПисьмо.АдресаУведомленияОДоставке.Добавить("третийящик@gmail.com"); ЭлПисьмо.АдресаУведомленияОПрочтении.Добавить("третийящик@gmail.com"); ЭлПисьмо.Получатели.Добавить(АдресПочты); ЭлПисьмо.Вложения.Добавить(имяФайла,); // удача !!! ЭлПисьмо.Организация = ЭтотОбъект.Организация; Попытка ИнтернетПочта.Послать(ЭлПисьмо); Сообщить("Письмо ушло на ящик "+АдресПочты+" в "+Формат(ТекущаяДата(),"ДЛФ=DDT")); Исключение Сообщить("При отсылке 'Интернет почтового сообщения' по 'ИнтернетПочте' возникла Ошибка:"); Сообщить("Системное описание:"); Сообщить(ОписаниеОшибки(),СтатусСообщения.Важное); КонецПопытки; УдалитьФайлы(ИмяФайла, ); ИнтернетПочта.Отключиться(); но результата нет: письмо получателю (мой другой ящик) приходит, но никаких следов попыток отправить уведомление нет, ни в исходящих, ни в отправленных... В интернете искал какие то решения, но как то не нашел. Как сделать это? Заранее, спасибо. |
|||
1
Romasini
24.12.10
✎
12:56
|
решение нашел, но работает оно как то странно:
Письмо = Новый COMОбъект("CDO.Message"); Письмо.To = АдресПочты; Письмо.From = УчетнаяЗапись.АдресЭлектроннойПочты; Письмо.Subject = "Такая тема"; Письмо.TextBody = "Письмо отправлено автоматически, пожалуйста, не отвечайте на него."; Письмо.BodyPart.CharSet = "utf-8"; //для цивильной кодировки сообщения Письмо.DSNOptions = 14;//для получения уведомления о доставке и прочтении Письмо.Fields("urn:schemas:mailheader:disposition-notification-to").Value = УчетнаяЗаписьПолучателя.АдресЭлектроннойПочты; Письмо.Fields("urn:schemas:mailheader:return-receipt-to").Value = УчетнаяЗаписьПолучателя.АдресЭлектроннойПочты; Письмо.AddAttachment(ИмяФайла);//вложение Письмо.Fields.Update(); Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing").Value = 2;//использовать smtp Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value = СокрЛП(УчетнаяЗапись.SMTPСервер); //Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").Value= Аутентификация; Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername").Value = СокрЛП(УчетнаяЗапись.ЛогинSMTP); Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword").Value = СокрЛП(УчетнаяЗапись.ПарольSMTP); Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport").Value = УчетнаяЗапись.ПортSMTP; Письмо.Configuration.Fields.Update(); Письмо.Send(); В чем странность: в моем случае отправляются уведомления о прочтении, а о доставке нет, а у других, кто реализовывал сие, наоборот: скорее всего тут важны настройки MS Exchange, хотя фиг его знает |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |