Перегрузка Добавить принимает ИнтернетПочтовоеСообщение, а Данные вложения могут быть письмом или двоичными данными. Тип проверяем до чтения Тема.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
В учебной базе выполните код на сервере. Письмо создаётся и разбирается в памяти; профиль почты, пароль, SMTP/IMAP и вызов Послать не нужны.
Все адреса заданы на учебном домене example.invalid. Не заменяйте их реальными адресами и не добавляйте отправку при первой проверке.
Письмо о двух учебных товарах не содержит персональных данных, реальных заказов и внешних HTML-ресурсов. Его текст не является счётом или подтверждением доставки.
Письмо = Новый ИнтернетПочтовоеСообщение;
Письмо.Кодировка = "UTF-8";
Письмо.Отправитель = "guide@example.invalid";
Письмо.ИмяОтправителя = "Учебный магазин";
Письмо.Получатели.Добавить("student@example.invalid");
Письмо.Тема = "Учебные товары";
Письмо.Тексты.Добавить("Книга: 3; Ручка: 1", ТипТекстаПочтовогоСообщения.ПростойТекст);
Внутреннее = Новый ИнтернетПочтовоеСообщение;
Внутреннее.Отправитель = "guide@example.invalid";
Внутреннее.Получатели.Добавить("mentor@example.invalid");
Внутреннее.Тема = "Учебное пояснение";
Внутреннее.Тексты.Добавить("Количество книги равно 3", ТипТекстаПочтовогоСообщения.ПростойТекст);
Вложение = Письмо.Вложения.Добавить(Внутреннее, "explanation.eml");
Вложение.ТипСодержимого = "message/rfc822";
ДанныеВложения = Письмо.Вложения.Получить(0).Данные;
Если ТипЗнч(ДанныеВложения) <> Тип("ИнтернетПочтовоеСообщение") Тогда
ВызватьИсключение "Для этой перегрузки ожидался собственный объект письма";
КонецЕсли;
Сообщить(ДанныеВложения.Тема = "Учебное пояснение");
Сообщить(Письмо.Тема = "Учебные товары");
Сообщить(Письмо.Вложения.Количество() = 1);Разбор по шагам
Внутреннее письмо тоже полностью собственное и не отправлено.
Добавить получает объект письма, не путь к существующему EML.
Проверяем тип Данные перед обращением к Тема. MIME-roundtrip этого вложения здесь не выполнялся.
Как проверить результат
Три сообщения Истина: внутренняя тема, внешняя тема, одно вложение.
Внешнее и внутреннее письма не перепутаны; файлов explanation.eml на диске нет.
Ожидаемый результат
Прикреплено собственное письмо с отдельной темой и текстом.
На что обратить внимание
Объект письма и успешный разбор MIME не доказывают отправку, доставку, подлинность отправителя или прочтение.
После разбора входного MIME представление Данные может отличаться: всегда проверяйте фактический тип.
Вложенный From не подтверждает происхождение внешнего письма.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.