Как отправить отчет нескольким пользователям на Email
По теме из базы знаний
- Управление терминальными сессиями пользователей из 1С
- Redmine для управления ИТ: практический опыт обширного внедрения opensource-системы
- 1C + Python + Django Rest Framework + Vue.js. Опыт несложной full-stack разработки
- Автоматическая отправка на почту ежедневного отчета руководителю об активности сотрудников из 1С (без доработки и использования расширений)
- Взаимодействие с сотрудниками и клиентами из одного окна конфигурации 1С (Телеграм, ВКонтакте, Facebook, Discord). Преимущества, технические особенности, подводные камни
Найденные решения
Можно через внутренние объекты 1С
Процедура ОтправитьАдминам(Тема, ТабДок) Экспорт
ИмяФайла = ПолучитьИмяВременногоФайла(".PDF");
ТабДок.Вывод = ИспользованиеВывода.Разрешить;
ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.PDF);
Почта = Новый ИнтернетПочта;
УчетнаяЗапись = Справочники.УчетныеЗаписиЭлектроннойПочты.НайтиПоНаименованию("Robot");
Профиль = Новый ИнтернетПочтовыйПрофиль;
Профиль.АдресСервераPOP3 = УчетнаяЗапись.POP3Сервер;
Профиль.АдресСервераSMTP = УчетнаяЗапись.SMTPСервер;
Если УчетнаяЗапись.ВремяОжиданияСервера > 0 Тогда
Профиль.ВремяОжидания = УчетнаяЗапись.ВремяОжиданияСервера;
КонецЕсли;
Профиль.Пароль = УчетнаяЗапись.Пароль;
Профиль.Пользователь = УчетнаяЗапись.Логин;
Профиль.ПортPOP3 = УчетнаяЗапись.ПортPOP3;
Профиль.ПортSMTP = УчетнаяЗапись.ПортSMTP;
Если УчетнаяЗапись.ТребуетсяSMTPАутентификация Тогда
Профиль.АутентификацияSMTP = СпособSMTPАутентификации.ПоУмолчанию;
Профиль.ПарольSMTP = УчетнаяЗапись.ПарольSMTP;
Профиль.ПользовательSMTP = УчетнаяЗапись.ЛогинSMTP;
Иначе
Профиль.АутентификацияSMTP = СпособSMTPАутентификации.БезАутентификации;
Профиль.ПарольSMTP = УчетнаяЗапись.Пароль;
Профиль.ПользовательSMTP = УчетнаяЗапись.Логин;
КонецЕсли;
Если УчетнаяЗапись.IMAP Тогда
Профиль.ПортIMAP = УчетнаяЗапись.ПортPOP3;
Профиль.АдресСервераIMAP = УчетнаяЗапись.POP3Сервер;
Профиль.ИспользоватьSSLIMAP = УчетнаяЗапись.IMAPTLS;
Профиль.ПользовательIMAP = УчетнаяЗапись.Логин;
Профиль.ПарольIMAP = УчетнаяЗапись.Пароль;
КонецЕсли;
Почта.Подключиться(Профиль, ПротоколИнтернетПочты[?(УчетнаяЗапись.IMAP, "IMAP", "POP3")]);
Сообщение = Новый ИнтернетПочтовоеСообщение;
Сообщение.Тема = Тема;
Сообщение.ИмяОтправителя = Метаданные.Синоним+": Ошибки";
Сообщение.Отправитель = "xxxxxx@xxxxxx.ru";
Сообщение.Кодировка = "windows-1251";
Сообщение.Получатели.Добавить("xxxxxxxxxxx@xxxxxxx.ru");
Сообщение.Тексты.Добавить(Тема, ТипТекстаПочтовогоСообщения.ПростойТекст);
Сообщение.Вложения.Добавить(ИмяФайла);
Почта.Послать(Сообщение);
Почта.Отключиться();
КонецПроцедуры
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Смотря как именно надо. Можно через аутлук, через него отправляю примерно так:
Например вот так:
Например вот так:
Попытка
Outlook = Новый COMОбъект("Outlook.Application");
Исключение
Сообщить("Ошибка подключения компоненты Outlook. Возможно, на компьютере не установлен Microsoft Outlook");
КонецПопытки;
Письмо = Outlook.CreateItem(0);
Попытка
Емайл = ПолучитьАдресЭлектроннойПочты();
Исключение
Емайл = "";
КонецПопытки;
Если ЗначениеЗаполнено(Емайл) Тогда
Письмо.Recipients.Add(Емайл);
КонецЕсли;
ЭлементыФормы.ПолеТабличногоДокументаРезультат.Записать("C:\1.pdf", ТипФайлаТабличногоДокумента.PDF);
Письмо.Attachments.Add("C:\1.pdf");
Попытка
Письмо.Display(); //или, например, Письмо.Send();
Исключение
Сообщить("Ошибка отображения письма!");
КонецПопытки;
Показать
Можно через внутренние объекты 1С
Процедура ОтправитьАдминам(Тема, ТабДок) Экспорт
ИмяФайла = ПолучитьИмяВременногоФайла(".PDF");
ТабДок.Вывод = ИспользованиеВывода.Разрешить;
ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.PDF);
Почта = Новый ИнтернетПочта;
УчетнаяЗапись = Справочники.УчетныеЗаписиЭлектроннойПочты.НайтиПоНаименованию("Robot");
Профиль = Новый ИнтернетПочтовыйПрофиль;
Профиль.АдресСервераPOP3 = УчетнаяЗапись.POP3Сервер;
Профиль.АдресСервераSMTP = УчетнаяЗапись.SMTPСервер;
Если УчетнаяЗапись.ВремяОжиданияСервера > 0 Тогда
Профиль.ВремяОжидания = УчетнаяЗапись.ВремяОжиданияСервера;
КонецЕсли;
Профиль.Пароль = УчетнаяЗапись.Пароль;
Профиль.Пользователь = УчетнаяЗапись.Логин;
Профиль.ПортPOP3 = УчетнаяЗапись.ПортPOP3;
Профиль.ПортSMTP = УчетнаяЗапись.ПортSMTP;
Если УчетнаяЗапись.ТребуетсяSMTPАутентификация Тогда
Профиль.АутентификацияSMTP = СпособSMTPАутентификации.ПоУмолчанию;
Профиль.ПарольSMTP = УчетнаяЗапись.ПарольSMTP;
Профиль.ПользовательSMTP = УчетнаяЗапись.ЛогинSMTP;
Иначе
Профиль.АутентификацияSMTP = СпособSMTPАутентификации.БезАутентификации;
Профиль.ПарольSMTP = УчетнаяЗапись.Пароль;
Профиль.ПользовательSMTP = УчетнаяЗапись.Логин;
КонецЕсли;
Если УчетнаяЗапись.IMAP Тогда
Профиль.ПортIMAP = УчетнаяЗапись.ПортPOP3;
Профиль.АдресСервераIMAP = УчетнаяЗапись.POP3Сервер;
Профиль.ИспользоватьSSLIMAP = УчетнаяЗапись.IMAPTLS;
Профиль.ПользовательIMAP = УчетнаяЗапись.Логин;
Профиль.ПарольIMAP = УчетнаяЗапись.Пароль;
КонецЕсли;
Почта.Подключиться(Профиль, ПротоколИнтернетПочты[?(УчетнаяЗапись.IMAP, "IMAP", "POP3")]);
Сообщение = Новый ИнтернетПочтовоеСообщение;
Сообщение.Тема = Тема;
Сообщение.ИмяОтправителя = Метаданные.Синоним+": Ошибки";
Сообщение.Отправитель = "xxxxxx@xxxxxx.ru";
Сообщение.Кодировка = "windows-1251";
Сообщение.Получатели.Добавить("xxxxxxxxxxx@xxxxxxx.ru");
Сообщение.Тексты.Добавить(Тема, ТипТекстаПочтовогоСообщения.ПростойТекст);
Сообщение.Вложения.Добавить(ИмяФайла);
Почта.Послать(Сообщение);
Почта.Отключиться();
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот