Отправка почты с использованием CDO-компоненты (встроенная в Win2K и выше)

29.10.08

Интеграция - Email рассылки

Надо было сделать отправку доков клиентам в pdf. Настройка локалки на работе хз какая. Сами админы не могли помочь. Все библиотеки, которые представлены в этой рубрике, не подошли. У одних пользователей работает только DialMail, у других только ROM-Mail, на терминале вообще ничего не работает. На всех компах пошло только это. С чем и хотел поделиться.
К сайту microsoft.com не обращается.

Скачать файлы

Наименование Файл Версия Размер
-
.1224744016 1,45Kb
537
.1224744016 1,45Kb 537 Скачать бесплатно
Функция ОтправкаПоПочте_ВБС(ВложениеПисьма, АдресПолучателя, ТемаПисьма, ТекстПисьма = "") Экспорт
    Попытка

        loConfig = CreateObject("CDO.Configuration");
        loCdoMessage = CreateObject("CDO.Message");

        loCdoMessage.Configuration = loConfig;
        loCdoMessage.From = "web@domenname.ru";
        loCdoMessage.To = АдресПолучателя;
        loCdoMessage.Subject = ТемаПисьма;
        loCdoMessage.textbody = "";
        loCdoMessage.AddAttachment(ВложениеПисьма);

        loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value = "192.168.0.1";
        loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").Value = 1;
        loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword").Value = "Pasword";
        loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout").Value = 60;
        loConfig.Fields.Update();
        loCdoMessage.Send();

        Возврат 1;
    Исключение
        Возврат 0;
    КонецПопытки;
КонецФункции

См. также

Отправка счет-договора по email 1С 7.7 ТиС с помощью Python

Email рассылки Платформа 1С v7.7 1С:Торговля и склад 7.7 Абонемент ($m)

Данный код позволяет отправлять письма с вложениями (pdf счет договор) на email клиентов. Скрипт написан на Python.

1 стартмани

23.12.2022    5283    1    Drfreeman    5    

3

Отправляем почтой печатную форму любого документа (в формате xls)

Печатные формы Email рассылки Платформа 1С v7.7 1С:Торговля и склад 7.7 Россия Абонемент ($m)

Обработка позволяет отправлять почтой печатную форму любого документа (в формате xls).

1 стартмани

01.11.2022    2511    4    Sancha    6    

2

Отправка счетов из 1С ТиС по e-mail через SSL

Email рассылки Оперативный учет 7.7 1С:Торговля и склад 7.7 Россия Абонемент ($m)

Оперативная отправка печатной формы документа 1С в графическом или PDF формате по E-mail в том числе с использованием SSL.

1 стартмани

19.01.2021    4539    15    ukhin    0    

3

Отправка печатных форм по e-mail

Email рассылки Оперативный учет 7.7 1С:Торговля и склад 7.7 Россия Абонемент ($m)

Отправка печатных документов, отчетов и пр. форм по e-mail.

1 стартмани

28.07.2017    20075    20    АннаШ    44    

2

Обработка отправки документов по почте напрямую из 1С7.7 в файле EXCEL

Загрузка и выгрузка в Excel Email рассылки Документооборот и делопроизводство (СЭД) Платформа 1С v7.7 Конфигурации 1cv7 Россия Абонемент ($m)

Данная внешняя обработка предоставляет функционал для быстрой выгрузки документа в файл Excel и отправки электронного письма с вложенным документом напрямую из интерфейса 1С Предприятие 7.7.

1 стартмани

16.11.2014    39622    101    etmarket    20    

7
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Noy 1076 23.10.08 11:27 Сейчас в теме
Баян.
давно используется в обработках на этом сайте.
например: http://infostart.ru/projects/2680/
http://infostart.ru/projects/266/
http://infostart.ru/profile/13406/projects/2329/
Причем можно без скрипта, а прямо из языка 1С через СоздатьОбъект("CDO.Message");
Analitik; Xershi; +2 Ответить
2. coder1cv8 3468 23.10.08 11:35 Сейчас в теме
О! Автор открыл для себя CDO! :)
P.S. ScriptControl здесь ни к чему...
3. CheBurator 3119 23.10.08 14:11 Сейчас в теме
+майлру может и не пропустить, если from - чужой или не заполнен
4. artbear 1448 24.10.08 09:43 Сейчас в теме
Да и тему можно было бы поменять :(
"Вообще без библиотек (vb script)" это о чем вообще ? :)
ValentinV; +1 Ответить
5. ValentinV 27.10.08 10:43 Сейчас в теме
Только что хотел написать про не уместное название темы,
а artbear уже написал.
Ставлю + artbear и - автору за название темы.
Извините, но такое ощущение, что название дают рекламные агенты.
Результат. На сайте трудно найти стало что-то нужное.
Или что-бы не было повтора.
Зачем же захламлять не профессиональными выражениями.
Просьба. Чтобы в мусорку не отправлять, дайте название темы,
отражающее сущность вашей разработки.
6. LelikOFF 29.10.08 08:53 Сейчас в теме
http://www.dimac.com/ от туда jmail компонентой пользуюсь уже лет 5 - везде работает!
18. xzorkiix 34 05.12.14 17:20 Сейчас в теме
(6) LelikOFF, простите, но как его скачать?
7. мх 16 29.10.08 11:39 Сейчас в теме
8. мх 16 29.10.08 11:53 Сейчас в теме
9. jeckfs 03.11.08 17:11 Сейчас в теме
присоединяюсь к Noy, только сказал бы - боянище :) зачем программисту 1с выполнять работу сисадмина?
10. fixin 4252 20.12.11 13:02 Сейчас в теме
Я честно говоря не знал, что можно использовать CDO, но рекомендую автору оформить все более грамотно с точки зрения повтороного юзания кода, как у меня (я написал, когда узнал про CDO):


Функция СоздатьСтруктуруПисьмаCDO()
	//Код Гения 1С
	Р = Новый Структура();
	Р.Вставить("СерверSMTP", );
	Р.Вставить("ПользовательSMTP", );
	Р.Вставить("ПортSMTP", 25);
	Р.Вставить("SSL", ложь);
	Р.Вставить("Отправитель", );
	Р.Вставить("Кому", );
	Р.Вставить("ПарольSMTP", );
	Р.Вставить("Тема", );
	Р.Вставить("Текст", );
	Р.Вставить("Вложения", Новый Массив());
	Р.Вставить("Копия", );
	Р.Вставить("СкрытаяКопия", );
	Р.Вставить("ДляОтвета", );
	Р.Вставить("Аутентификация ", 1); //0 - анонимно, 1 - базовая, 2 - NTLM 
	Р.Вставить("ТаймАут", 60); //в секундах
	
	Возврат Р;
КонецФункции

Функция ОтправитьПисьмоЧерезCDO(СтруктураCDO) Экспорт
	//Код Гения 1С
	//http://www.paulsadowski.com/wsh/cdo.htm
	Письмо = Новый COMОбъект("CDO.Message");
	Р = Новый Структура("ОК, Объект, Описание", ложь, Письмо, "");
	Письмо.to = СтруктураCDO.Кому;
	Письмо.from = СтруктураCDO.Отправитель;
	Письмо.cc = СтруктураCDO.Копия;
	Письмо.bcc = СтруктураCDO.СкрытаяКопия;
	Для Каждого Элемент Из СтруктураCDO.Вложения Цикл
		Письмо.AddAttachment(Элемент);
	КонецЦикла;
	Письмо.Subject = СтруктураCDO.Тема;
	Письмо.TextBody = СтруктураCDO.Текст;
	Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing").Value = 2;
	Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value = СтруктураCDO.СерверSMTP;
	Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").Value = СтруктураCDO.Аутентификация; 
	Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername").Value = СтруктураCDO.ПользовательSMTP;
	Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword").Value = СтруктураCDO.ПарольSMTP;
	Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport").Value = СтруктураCDO.ПортSMTP;
	Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl").Value = СтруктураCDO.SSL;
	Письмо.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout").Value = СтруктураCDO.ТаймАут;
	Письмо.Configuration.Fields.Update();
	
	Попытка
		Письмо.Send();
	Исключение
		Р.ОписаниеОшибки = ОписаниеОшибки();
		Возврат Р;
	КонецПопытки;
	
	Р.ОК = истина;
	
	Возврат Р;
	
	
КонецФункции

Показать
14. sai_NT 24.06.12 10:58 Сейчас в теме
(10) fixin, ошибочка закралась:
или (предпочтительней)
Р = Новый Структура("ОК, Объект, ОписаниеОшибки", ложь, Письмо, "");

или
Р.Описание = ОписаниеОшибки();
15. fixin 4252 24.06.12 12:15 Сейчас в теме
(14) согласен. есть такое дело. ;-)
12. Ёпрст 1063 20.12.11 13:12 Сейчас в теме
+11
[:]||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||[:]
13. rusrus 50 24.06.12 09:36 Сейчас в теме
Была бы возможность поставить ва плюса- поставил бы
16. Afanasyev.sv@mail.ru 14.10.14 08:29 Сейчас в теме
Доброго времени суток.
Вложение приходит некорректно. При открытии пишет, что файл поврежден и не открывается. Ответ не могу найти нигде.
Подскажите, вдруг, кто сталкивался. Как победить?
17. Afanasyev.sv@mail.ru 14.10.14 11:33 Сейчас в теме
Разобрался. Вдруг кому пригодится.
Необходимо в iMsg.TextBody устанавливать какой-либо текст, хватает даже пустого символа (где iMsg = Новый COMОбъект("CDO.Message");)
19. seacat 12.02.15 04:32 Сейчас в теме
Жаль только что пример из 10 комментария в 7.7 не заработает.
в примере из темы я бы добавил
loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing").Value = 2;
у меня без него не работало.
20. mikhailovaew 127 05.11.15 09:13 Сейчас в теме
вроде гугл и мейл больше с CDO не работают. Есть решение?
21. user1444101 30.07.20 21:20 Сейчас в теме
Все работает! Поставьте порт 465 и SSL True.
23. nick_e 2 14.09.22 08:15 Сейчас в теме
(21)
        loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value = "192.168.0.1";
        loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").Value = 1;
        loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword").Value = "Pasword";
        loConfig.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout").Value = 60;


эти ссылки давно не работают, где взять то, что по ним расположено?
22. zoeh 31 13.10.21 08:11 Сейчас в теме
loCdoMessage.BodyPart.Charset = "UTF-8";
Забыли вот это добавить! На андроид многострочный текст приходят кракозябры!
Оставьте свое сообщение