Отправка писем на электронную почту типовой функцией 1С

04.07.20

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

Если вам необходимо отправить письмо на почту из внешней обработки, вам поможет эта статья.

Скачать исходный код

Наименование Файл Версия Размер
Отправка писем на электронную почту типовой функцией 1с:
.epf 8,20Kb
81
.epf 8,20Kb 81 Скачать

   Здравствуйте, коллеги. Мне понадобилось отправить письмо из внешней обработки, используя почтовый клиент, встроенный в 1с и выбранный почтовый адрес. Наткнулся на множество статей посвященной этой теме, в том числе //infostart.ru/public/715184/, где описано создание обработки по отправки писем. В подобных статьях я видел только программный ввод логина и пароля от почтового ящика, но нигде не видел, того что мне нужно. Также, уже после решения вопроса, увидел комментарий под одним из вопросов связанных с этой темой вот тут https://forum.infostart.ru/forum9/topic144507/, пользователь Boneman указал нужную функцию. В данной статье хочу описать решение проблемы с которой я столкнулся.    

   Создадим обработку, которая использует встроенный почтовый клиент для рассылки писем.


Где реквизит "Почта отправителя" - ссылка на справочник "Учетные записи электронной почты". Код команды - "отправить письма на сервере". 
 

 
 Отправить письма по адресам

Для начала формируем строку из адресов электронной почты на которые надо отправить письма. Далее формируем параметры письма. 
 

 
 Сформировать параметры письма


&НаСервере
 //Параметры:
 //УчетнаяЗапись - СправочникСсылка.УчетныеЗаписиЭлектроннойПочты - ссылка на
 //                учетную запись электронной почты.
 //ПараметрыПисьма - структура - содержит всю необходимую информацию о письме:
 //                  содержит следующие ключи:
 //   Кому*      - Массив структур, строка - Интернет адрес получателя письма.
 //                Адрес         - строка - почтовый адрес.
 //                Представление - строка - имя адресата.
 //   Копии      - массив структур, строка - Интернет адреса получателей письма
 //                используется при формировании письма для поля копий
 //                в случае массива структур, формат каждой структуры:
 //                Адрес         - строка - почтовый адрес (должно быть обязательно заполнено).
 //                Представление - строка - имя адресата.
 //   СлепыеКопии - массив структур, строка - Интернет адреса получателей письма
 //                используется при формировании письма для поля скрытых копий
 //                в случае массива структур, формат каждой структуры:
 //                Адрес         - строка - почтовый адрес (должно быть обязательно заполнено).
 //                Представление - строка - имя адресата.
 //
 //   Тема*      - Строка - тема почтового сообщения.
 //   Тело*      - тело почтового сообщения (простой текст в кодировке win-1251).
 //   Важность   - ВажностьИнтернетПочтовогоСообщения
 //   Вложения   - Соответствие
 //                ключ     - наименованиеВложения - строка - наименование вложения
 //                значение - ДвоичныеДанные,Структура - либо двоичные данные вложения, либо структура,
 //                           содержащая следующие свойства:
 //                           "ДвоичныеДанные" - ДвоичныеДанные - двоичные данные вложения
 //                           "Идентификатор" - Строка - идентификатор вложения, используется для хранения картинок,
 //                                                      отображаемых в теле письма.
 //
 //Дополнительные ключи структуры, которые могут использоваться:
 //   АдресОтвета - Соответствие - см. такие же поля как и кому.
 //   ИдентификаторыОснований - строка - идентификаторы оснований данного письма.
 //   ОбрабатыватьТексты  - Булево - необходимость обрабатывать тексты письма при отправке.
 //   УведомитьОДоставке  - Булево - необходимость запроса уведомления о доставке.
 //   УведомитьОПрочтении - Булево - необходимость запроса уведомления о прочтении.
 //   ТипТекста   - Строка / Перечисление.ТипыТекстовЭлектронныхПисем/ТипТекстаПочтовогоСообщения  определяет тип
 //                 переданного теста допустимые значения:
 //                 HTML/ТипыТекстовЭлектронныхПисем.HTML - текст почтового сообщения в формате HTML.
 //                 ПростойТекст/ТипыТекстовЭлектронныхПисем.ПростойТекст - простой текст почтового сообщения.
 //                                                                         Отображается "как есть" (значение по
 //                                                                         умолчанию).
 //                 РазмеченныйТекст/ТипыТекстовЭлектронныхПисем.РазмеченныйТекст - текст почтового сообщения в формате
 //   Rich Text.  
Функция СформироватьПараметрыПисьма(АдресаКоторымОтправляемПисьма)
	

	
	ПараметрыПисьма = Новый Структура;
	ПараметрыПисьма.Вставить("Кому", АдресаКоторымОтправляемПисьма);
	ПараметрыПисьма.Вставить("УчетнаяЗапись", ПочтаОтправителя);                                                               
	ПараметрыПисьма.Вставить("АдресОтвета", АдресаКоторымОтправляемПисьма);
	ПараметрыПисьма.Вставить("Тема", ТемаПисьма);	
	ПараметрыПисьма.Вставить("Тело", ТекстПисьма);
	ПараметрыПисьма.Вставить("ТипТекста", "ПростойТекст");
	
	
	Возврат ПараметрыПисьма;
	
КонецФункции

 

После этого используем типовую процедуру. 
 

&НаСервере
Процедура ОтправитьПочтовоеСообщениеСервер(ПараметрыПисьма)
	
	РаботаСПочтовымиСообщениями.ОтправитьПочтовоеСообщение(ПочтаОтправителя, ПараметрыПисьма);
	
Конецпроцедуры

Таким образом осуществляется рассылка писем с использованием учетной записи электронной почты.   

Обработка протестирована на релизе ЕРП 2.4.11.98.

См. также

"Акты сверки +" Групповая подготовка и рассылка актов сверки для Бухгалтерии 3.0.

Взаиморасчеты Email рассылки Акт сверки Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Внешняя обработка для Бухгалтерии 3.0 - позволяет автоматически формировать документы «Акт сверки расчетов» с контрагентами за выбранный период с последующей фоновой отправкой на почту контрагента.

3000 руб.

25.11.2020    22672    185    7    

166

Email, SMS, Telegram рассылки из 1С - Директ Маркетинг

Управление взаимоотношениями с клиентами (CRM) Мессенджеры и боты SMS рассылки Email рассылки Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Полный набор инструментов для качественных транзакционных и маркетинговых Email, SMS, Telegram рассылок из 1С. Даже простые уведомления об оплате счетов способны существенно упростить сбор дебиторской задолженности. Применение всех возможностей прямого маркетинга выводит коммуникацию с клиентами, уровень сервиса и лояльность на новый уровень.

7788 руб.

07.04.2014    84407    43    193    

129

Автоматическая рассылка отчетов из 1С: Управление торговлей 10.3 и 1С:УПП по электронной почте

Email рассылки Оптовая торговля Платформа 1С v8.3 1С:Управление торговлей 10 1С:Управление производственным предприятием Управленческий учет Платные (руб)

Многим сотрудникам предприятия требуется актуальная и достоверная информация для принятия верных управленческих решений. Получить данную информацию можно при помощи отчетов, существующих в конфигурации «1С: Управление торговлей 10.3» или «1С:УПП». Но не всегда у пользователей есть время, возможность и/или желание формировать отчеты непосредственно в системе. Намного привычней и удобней получать готовые отчеты на электронную почту, не открывая 1С.

12000 руб.

16.04.2014    84703    100    91    

94

Массовая рассылка печатных форм любых документов по электронной почте, в Telegram, в каталог или том

Email рассылки Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

Решение для массовой рассылки печатных форм (в том числе и дополнительных) любых документов, и произвольных файлов. Рассылка возможна посредством электронной почты, Telegram и файловой системы. Рассылка пакета документов. Добавление факсимильных печати и подписи. Произвольные шаблоны HTML/Simple text с автозаполнением любыми полями документа. Любые форматы файлов. Упаковка вложений в архив. Транслитерация имен файлов. Разбиение рассылки на произвольные порции. Обход спам-фильтров. Журналирование рассылок.

3600 руб.

30.06.2022    9360    65    89    

28

Групповое создание актов сверок для 1С:УТ 10.3 и БП 3.0

Взаиморасчеты Email рассылки Акт сверки Платформа 1С v8.3 Бухгалтерский учет 1С:Управление торговлей 10 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Обработки предназначены для массового создания актов сверки и отправки их по электронной почте для конфигураций Управление торговлей 10.3. и Бухгалтерия предприятия 3.0. Для Бухгалтерии 3.0 Разработка велась на 1С:Предприятие 8.3 (8.3.15.1830). проверялась на Бухгалтерия предприятия 3.0 (3.0.71.83) и 3.0.76.77 Для Управление торговлей 10.3 Разработка велась на 1С:Предприятие 8.3 релиз конфигурации (10.3.61.2) . РАБОТАЕТ НА БАЗОВЫХ и ПРОФ. ВЕРСИЯХ.

2520 руб.

24.04.2020    30737    121    66    

101
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. malikov_pro 1299 04.07.20 12:57 Сейчас в теме
Разбор типовых механизмов и варианта их применения нормальная тема.
"Обработка протестирована на релизе ЕРП 2.4.11.98." - предположу что это функционал БСП, копните чуть глубже, возможно найдете и ссылку на документацию.
Код можно убрать под спойлер, чтобы основной контекст статьи прочитать, после в код углубляться.
Вариант описать общую схему компонентов подсистемы, статья будет более полезна.
Ignatov_mu; Lapitskiy; BoryaMbi; freeek; Andrei_Ivanov; AlexK_2012; asg.aleks; awk; +8 Ответить
2. Andrei_Ivanov 164 10.07.20 15:55 Сейчас в теме
(1) Спасибо за комментарий.
3. user1570538 26.11.21 20:04 Сейчас в теме
Пишет ошибку БП

Учетную запись проверил. Настройки принимает.
Прикрепленные файлы:
4. Andrei_Ivanov 164 26.11.21 22:09 Сейчас в теме
(3) Добрый день. Я посмотрел в демо БП 3.0 (3.0.89.51) - не думаю, что версия критична, так как на 505 строке у меня такой же код.
Ошибка появится, в случае, если из обработки поле "Почта отправителя" не заполнено (что нельзя сделать), либо оно не того типа.
У меня, при проверке - такой ошибки не возникает.
Возможно ли, что у вас изменен тип реквизита обработки? Мне от вас достаточно будет скрина настроек обработки - почту можно замазать.
5. user1570538 28.11.21 16:43 Сейчас в теме
Спасибо за обратную связь, но не совсем понимаю какой скрин настроек от меня необходим?

Тип поля "почта отправителя" в конфигураторе "строка".
6. Andrei_Ivanov 164 28.11.21 17:11 Сейчас в теме
(5) Должна быть типа - "СправочникСсылка.УчетныеЗаписиЭлектроннойПочты".
Возможно тип слетел. Возможно в вашей версии бухгалтерии справочник по другому называется.
Попробуйте поменять тип.
7. user1570538 28.11.21 22:23 Сейчас в теме
(6) Запустилось. Спасибо.
8. ogursoft 29.12.21 16:19 Сейчас в теме
А подскажите как отправить с системной учетной записи, как программно получить на нее ссылку?
9. Andrei_Ivanov 164 29.12.21 18:08 Сейчас в теме
(8) Если выбрать системную учетную запись в "Почта отправителя" - не отправляется ?

Программно (Смотрю в ERP):
Если с клиента - ПредопределенноеЗначение("Справочник.УчетныеЗаписиЭлектроннойПочты.СистемнаяУчетнаяЗаписьЭлектроннойПочты")

Если с сервера (можно использовать оба варианта) -
Справочники.УчетныеЗаписиЭлектроннойПочты.СистемнаяУчетнаяЗаписьЭлектроннойПочты
ПредопределенноеЗначение("Справочник.УчетныеЗаписиЭлектроннойПочты.СистемнаяУчетнаяЗаписьЭлектроннойПочты")
user1216454; +1 Ответить
10. ogursoft 30.12.21 11:10 Сейчас в теме
(9) Спасибо за оперативный ответ!
Andrei_Ivanov; +1 Ответить
11. ogursoft 26.01.22 08:35 Сейчас в теме
А возможно ли использовать шаблоны сообщений?
12. Andrei_Ivanov 164 26.01.22 10:17 Сейчас в теме
(11) Добрый день. Не реализовывал такую возможность.
13. Aliya_St 24.03.22 09:33 Сейчас в теме
Всем доброго времени суток! Подскажите, пожалуйста, если я хочу задать список пользователей, которые будут стоять в копии письма. Как это задать?
14. Andrei_Ivanov 164 24.03.22 14:25 Сейчас в теме
(13) Добрый день. В данный момент это в обработке не реализовано. Необходима доработка.
Чтобы доработать, как я понимаю, нужно в функцию "СформироватьПараметрыПисьма" добавить строку ПараметрыПисьма.Вставить("Копии", Копии), предварительно его нужно заполнить, аналогично переменной "АдресаКоторымОтправляемПисьма".
15. Aliya_St 24.03.22 15:35 Сейчас в теме
(14)я имела ввиду вообще) не по обработке, да я уже сделала по аналогии, спасибо Вам)
16. пользователь 04.01.24 23:19
Сообщение было скрыто модератором.
...
17. vechiy 35 23.03.24 21:15 Сейчас в теме
коллеги подскажите как отправить вложение правильно? структуру завернуть в массив? у меня не выходит. есть пример у кого-нибудь?
Оставьте свое сообщение