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

04.07.20

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Отправка писем на электронную почту типовой функцией 1с:
.epf 8,20Kb
92
92 Скачать (1 SM) Купить за 1 850 руб.

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

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


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

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

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

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


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

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

 

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

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

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

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

См. также

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

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

3000 руб.

25.11.2020    25356    267    8    

230

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

Создать и отправить 1000 Актов серки контрагентам за 5 мин ?! Легко! Разработано для конфигурации УНФ Массовое создание и рассылка Актов сверки в три клика.

6000 руб.

13.01.2022    11091    9    13    

14

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

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

4920 руб.

30.06.2022    11589    75    100    

37

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

Данная обработка позволяет сократить объем ручных операций, выполняемых ежемесячно бухгалтером или его помощником за счет автоматизации систематического процесса.

7800 руб.

12.02.2019    33558    27    24    

26

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

Обработка позволяет автоматически сформировать акты сверок на почту контрагентов (почта берется из контактных данных контрагента). При формировании акта сверки формируется подпись с указанием контактов для связи с бухгалтерией нашей организации (формируется исходя из контактов из карточки организации). Присутствует возможность ручного редактирования электронной почты контрагента для отправки. Отправка осуществляется с системной записи электронной почты. В случае, если у контрагента нет адреса электронной почты, эти контрагенты будут выведены в отдельной табличной части. Это очень удобно, так как сразу наглядно виден список контрагентов, которым невозможно отправить акты сверок!

7080 руб.

11.05.2021    9947    7    2    

7

Взаиморасчеты 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    32179    123    66    

102

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

Помощник бухгалтера, занимающегося контролем за взаиморасчётами с клиентами, выполнен в форме внешней обработки, позволяющей упростить процесс создания и рассылки сверки взаиморасчётов клиентам.

3600 руб.

18.12.2024    330    1    0    

1
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. malikov_pro 1328 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 183 10.07.20 15:55 Сейчас в теме
(1) Спасибо за комментарий.
3. user1570538 26.11.21 20:04 Сейчас в теме
Пишет ошибку БП

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

Тип поля "почта отправителя" в конфигураторе "строка".
6. Andrei_Ivanov 183 28.11.21 17:11 Сейчас в теме
(5) Должна быть типа - "СправочникСсылка.УчетныеЗаписиЭлектроннойПочты".
Возможно тип слетел. Возможно в вашей версии бухгалтерии справочник по другому называется.
Попробуйте поменять тип.
7. user1570538 28.11.21 22:23 Сейчас в теме
(6) Запустилось. Спасибо.
8. ogursoft 29.12.21 16:19 Сейчас в теме
А подскажите как отправить с системной учетной записи, как программно получить на нее ссылку?
9. Andrei_Ivanov 183 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 183 26.01.22 10:17 Сейчас в теме
(11) Добрый день. Не реализовывал такую возможность.
13. Aliya_St 24.03.22 09:33 Сейчас в теме
Всем доброго времени суток! Подскажите, пожалуйста, если я хочу задать список пользователей, которые будут стоять в копии письма. Как это задать?
14. Andrei_Ivanov 183 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 Сейчас в теме
коллеги подскажите как отправить вложение правильно? структуру завернуть в массив? у меня не выходит. есть пример у кого-нибудь?
18. KazanKokos 11 07.06.24 18:38 Сейчас в теме
(17) тоже интересует. копаюсь в коде но нигде нет примера....

упд: Нашел! https://infostart.ru/1c/articles/577850/
Оставьте свое сообщение