Как отправить письмо с вложением типовым механизмом?
Казалось бы обычная задача.
Отправляю с помощью РаботаСПочтовымиСообщениями.ОтправитьСообщение(ПочтаОтправителя, ПараметрыПисьма);
Как правильно сформировать параметры письма с вложением? Пробовал уже десятком способов. не вижу нигде примера.
ПараметрыПисьма = Новый Структура;
ПараметрыПисьма.Вставить("Кому", АдресаКоторымОтправляемПисьма);
ПараметрыПисьма.Вставить("УчетнаяЗапись", ПочтаОтправителя);
ПараметрыПисьма.Вставить("АдресОтвета", АдресаКоторымОтправляемПисьма);
ПараметрыПисьма.Вставить("Тема", ТемаПисьма);
ПараметрыПисьма.Вставить("Тело", ТекстПисьма);
ПараметрыПисьма.Вставить("ТипТекста", "ПростойТекст");
Вложения = Новый Массив;
Вложение = Новый Структура;
Вложение.Вставить("Ключ","адрес_файла");
Вложения.Добавить(Вложение);
ПараметрыПисьма.Вставить("Вложения", Вложения);
Возврат ПараметрыПисьма;
Отправляю с помощью РаботаСПочтовымиСообщениями.ОтправитьСообщение(ПочтаОтправителя, ПараметрыПисьма);
Как правильно сформировать параметры письма с вложением? Пробовал уже десятком способов. не вижу нигде примера.
ПараметрыПисьма = Новый Структура;
ПараметрыПисьма.Вставить("Кому", АдресаКоторымОтправляемПисьма);
ПараметрыПисьма.Вставить("УчетнаяЗапись", ПочтаОтправителя);
ПараметрыПисьма.Вставить("АдресОтвета", АдресаКоторымОтправляемПисьма);
ПараметрыПисьма.Вставить("Тема", ТемаПисьма);
ПараметрыПисьма.Вставить("Тело", ТекстПисьма);
ПараметрыПисьма.Вставить("ТипТекста", "ПростойТекст");
Вложения = Новый Массив;
Вложение = Новый Структура;
Вложение.Вставить("Ключ","адрес_файла");
Вложения.Добавить(Вложение);
ПараметрыПисьма.Вставить("Вложения", Вложения);
Возврат ПараметрыПисьма;
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
из типовой унф
Попытка
ФайлыПечатныхФорм = КадровыйЭДОВызовСервера.ВыводимыеФайлыПечатныхФорм(Вложения);
Письмо = Новый ИнтернетПочтовоеСообщение();
Письмо.Тема = ТемаПисьма;
Письмо.Получатели.Добавить(БизнесПроцесс.АдресEmail);
Для Каждого ФайлПечатнойФормы Из ФайлыПечатныхФорм Цикл
Письмо.Вложения.Добавить(ПолучитьИзВременногоХранилища(ФайлПечатнойФормы.АдресВоВременномХранилище),
ФайлПечатнойФормы.Представление);
КонецЦикла;
УчетнаяЗапись = РаботаСПочтовымиСообщениями.СистемнаяУчетнаяЗапись();
РаботаСПочтовымиСообщениями.ОтправитьПисьмо(УчетнаяЗапись, Письмо);
Исключение
ОбщегоНазначения.СообщитьПользователю(НСтр("ru = 'Не удалось автоматически отправить копию справки на почту'"));
КонецПопытки;
Показать
(3)
ПутьКаталога = "D:\test\test.txt" ;
ФайлыЗагрузки = НайтиФайлы(ПутьКаталога,"*.txt");
Если ФайлыЗагрузки<>0 Тогда
Для Каждого Файл из ФайлыЗагрузки Цикл
Сообщение.Вложения.Добавить(Файл.ПолноеИмя);
КонецЦикла;
УдалитьФайлы(ПутьКаталога,"*.xls");
КонецЕсли;
тогда вот способ не зависящий от конфигурации
//Создаем профиль либо считываем из справочника
Профиль = Новый ИнтернетПочтовыйПрофиль;
Профиль.АдресСервераSMTP = "smtp.mail.ru"; //"smtp.mail.ru";
Профиль.АдресСервераPOP3 = ""; //"pop.mail.ru";
Профиль.АдресСервераIMAP = "imap.mail.ru";
Профиль.ПортPOP3 = 0; //110;
Профиль.ПортIMAP = 993;
Профиль.ПортSMTP = 465; //465;
Профиль.Пользователь = "";
Профиль.Пароль = "";
Профиль.ПользовательSMTP = "1111111111@mail.ru";
Профиль.ПользовательIMAP = "1111111111@mail.ru";
Профиль.ПарольSMTP = "*********";
Профиль.ПарольIMAP = "**********";
Профиль.АутентификацияSMTP = СпособSMTPАутентификации.ПоУмолчанию;
Профиль.АутентификацияPOP3 = СпособPOP3Аутентификации.Обычная;
Профиль.POP3ПередSMTP = Ложь;
Профиль.ТолькоЗащищеннаяАутентификацияIMAP = ложь;
Профиль.ТолькоЗащищеннаяАутентификацияPOP3 = ложь;
Профиль.ТолькоЗащищеннаяАутентификацияSMTP = ложь;
Профиль.АутентификацияПоТокену = ИспользованиеАутентификацииИнтернетПочтыПоТокену.Авто;
Профиль.ИспользоватьSSLIMAP = Истина;
Профиль.ИспользоватьSSLSMTP = Истина;
Профиль.ИспользоватьSSLPOP3 = Ложь;
//Создаем письмо
Почта = Новый ИнтернетПочта;
Письмо = Новый ИнтернетПочтовоеСообщение;
Текст = Письмо.Тексты.Добавить(ошибки);
Текст.ТипТекста = ТипТекстаПочтовогоСообщения.ПростойТекст;
Письмо.Тема = Тема;
Письмо.Отправитель = "11111111@mail.ru";
Письмо.ИмяОтправителя = "test";
Письмо.Получатели.Добавить("222222222@mail.ru");
Письмо.Копии.Добавить("33333333@mail.ru");
Письмо.Вложения.Добавить(Файл); //добавляем вложение если нужно, например "C:\Приложение.doc"
//Вложений можно добавлять сколько требуется.
//Отправляем письмо
Попытка
Почта.Подключиться(Профиль);
Почта.Послать(Письмо);
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
//Закрываем письмо
Почта.Отключиться();
//Закрываем файл вложения
//Письмо.Вложения.Очистить();
Показать
вот так делаю:
получаю ошибку:
{ОбщийМодуль.ЭлектроннаяПочта.Модуль(62)}: Поле объекта не обнаружено (Значение)
неправильно формирую структуру? или что?
ВременноеХранилищеФайла = ПоместитьВоВременноеХранилище("D:\test.txt");
Вложения = Новый Массив;
ОписаниеВложения = Новый Структура("Представление, АдресВоВременномХранилище", "тест", ВременноеХранилищеФайла);
Вложения.Добавить(ОписаниеВложения);
ПараметрыПисьма.Вставить("Вложения", Вложения);
получаю ошибку:
{ОбщийМодуль.ЭлектроннаяПочта.Модуль(62)}: Поле объекта не обнаружено (Значение)
неправильно формирую структуру? или что?
(7)
Вложения
ВременноеХранилище = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ПутьФайла));
ВложенияФайлы = Новый Массив;
ВложениеСтруктура = Новый Структура;
ВложениеСтруктура.Вставить("Представление",текстПисьма + ".XLS");
ВложениеСтруктура.Вставить("АдресВоВременномХранилище",ВременноеХранилище);
ВложенияФайлы.Добавить(ВложениеСтруктура);
У меня так
Получатели = Новый Массив;
Получатели.Добавить(Новый Структура("Адрес, Представление", Получатель.Почта, Получатель.Пользователь));
Вложения = Новый Массив;
Для Каждого Файл Из ФайлыПолучателя Цикл
ИмяФайла = Файл["ИмяФайла"];
ПутьФайла = Файл["ПутьФайла"];
ДвойчныеДанные = Новый ДвоичныеДанные(ПутьФайла);
АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(ДвойчныеДанные);
Вложение = Новый Структура("Представление, АдресВоВременномХранилище");
Вложение["Представление"] = ИмяФайла;
Вложение["АдресВоВременномХранилище"] = АдресВоВременномХранилище;
Вложения.Добавить(Вложение);
КонецЦикла;
ТекстПисьма = "Текст письма";
ПараметрыПисьма = Новый Структура;
ПараметрыПисьма.Вставить("УчетнаяЗапись", УчетнаяЗаписьПочты);
ПараметрыПисьма.Вставить("Кому", Получатели);
ПараметрыПисьма.Вставить("Тема", "Тема письма");
ПараметрыПисьма.Вставить("Тело", ТекстПисьма);
ПараметрыПисьма.Вставить("ТипТекста", "ПростойТекст");
ПараметрыПисьма.Вставить("Вложения", Вложения);
РаботаСПочтовымиСообщениями.ОтправитьПочтовоеСообщение(УчетнаяЗаписьПочты, ПараметрыПисьма);
Показать
типовое из ут11
подробнее уже некуда
ПараметрыПисьма = Новый Структура();
ПараметрыПисьма.Вставить("Тема", Сообщение.Тема);
ПараметрыПисьма.Вставить("Вложения", Новый Соответствие);
Для каждого Вложение Из Сообщение.Вложения Цикл
НовоеВложение = Новый Структура("ДвоичныеДанные, Идентификатор");
НовоеВложение.ДвоичныеДанные = ПолучитьИзВременногоХранилища(Вложение.АдресВоВременномХранилище);
НовоеВложение.Идентификатор = Вложение.Идентификатор;
ПараметрыПисьма.Вложения.Вставить(Вложение.Представление, НовоеВложение);
КонецЦикла;
ПараметрыПисьма.Вставить("Тело", Сообщение.Текст);
Показатьподробнее уже некуда
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот