ИнтернетПочтовоеСообщение.Тексты

Свойства · Texts

Тип: ИнтернетТекстыПочтовогоСообщения. Содержит коллекцию объектов ИнтернетТекстПочтовогоСообщения. Может содержать одно или несколько текстовых частей сообщения или не содержать ни одной текстовой части.

Полное описание, параметры и ограничения

ИнтернетПочтовоеСообщение.Тексты (InternetMailMessage.Texts)

ИнтернетПочтовоеСообщение (InternetMailMessage)

Тексты (Texts)

Доступен, начиная с версии 8.0.

Использование:
Только чтение.
Описание:
Тип: ИнтернетТекстыПочтовогоСообщения.
Содержит коллекцию объектов ИнтернетТекстПочтовогоСообщения. Может содержать одно или несколько текстовых частей сообщения или не содержать ни одной текстовой части.
Доступность:

Тонкий клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.

Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Задать собственный тип текста application/json

Строковый второй аргумент Добавить задаёт ПроизвольныйТекст. MIME-тип сообщает формат, но сам не проверяет поля JSON.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. В учебной базе выполните код на сервере. Письмо создаётся и разбирается в памяти; профиль почты, пароль, SMTP/IMAP и вызов Послать не нужны.

  2. Все адреса заданы на учебном домене example.invalid. Не заменяйте их реальными адресами и не добавляйте отправку при первой проверке.

  3. Письмо о двух учебных товарах не содержит персональных данных, реальных заказов и внешних HTML-ресурсов. Его текст не является счётом или подтверждением доставки.

Письмо = Новый ИнтернетПочтовоеСообщение;
Письмо.Кодировка = "UTF-8";
Письмо.Отправитель = "guide@example.invalid";
Письмо.ИмяОтправителя = "Учебный магазин";
Письмо.Получатели.Добавить("student@example.invalid");
Письмо.Тема = "Учебные товары";
Письмо.Тексты.Добавить("Книга: 3; Ручка: 1", ТипТекстаПочтовогоСообщения.ПростойТекст);
Письмо.Тексты.Очистить();
Часть = Письмо.Тексты.Добавить("{""code"":""A-01"",""quantity"":3}", "application/json");
Часть.Кодировка = "UTF-8";
Сообщить(Часть.ТипТекста = ТипТекстаПочтовогоСообщения.ПроизвольныйТекст);
Сообщить(Часть.ПроизвольныйТипТекста = "application/json");
Часть.ПроизвольныйТипТекста = "application/json; profile=guide";
Сообщить(СтрНайти(Часть.ПроизвольныйТипТекста, "profile=guide") > 0);
Сообщить(Часть.Текст = "{""code"":""A-01"",""quantity"":3}");

Разбор по шагам

  1. JSON задан собственной строкой; двойные кавычки экранированы по правилам BSL.

  2. Строка MIME-типа во втором аргументе меняет ТипТекста на ПроизвольныйТекст.

  3. ПроизвольныйТипТекста можно дополнить собственным параметром; содержимое JSON при этом не меняется.

Как проверить результат

  1. Четыре сообщения Истина.

  2. Получатель ещё не прочитал JSON и не подтвердил его контракт.

Ожидаемый результат

Разделены собственный MIME-тип текстовой части и её строковое содержимое.

На что обратить внимание

  1. Объект письма и успешный разбор MIME не доказывают отправку, доставку, подлинность отправителя или прочтение.

  2. Не используйте MIME-тип как замену ПрочитатьJSON, проверки типов и обязательных полей.

  3. Некоторые почтовые клиенты могут показать такую часть как файл, а не обычный текст.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Прикрепить собственное письмо как вложенное сообщение

Перегрузка Добавить принимает ИнтернетПочтовоеСообщение, а Данные вложения могут быть письмом или двоичными данными. Тип проверяем до чтения Тема.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. В учебной базе выполните код на сервере. Письмо создаётся и разбирается в памяти; профиль почты, пароль, SMTP/IMAP и вызов Послать не нужны.

  2. Все адреса заданы на учебном домене example.invalid. Не заменяйте их реальными адресами и не добавляйте отправку при первой проверке.

  3. Письмо о двух учебных товарах не содержит персональных данных, реальных заказов и внешних HTML-ресурсов. Его текст не является счётом или подтверждением доставки.

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

Разбор по шагам

  1. Внутреннее письмо тоже полностью собственное и не отправлено.

  2. Добавить получает объект письма, не путь к существующему EML.

  3. Проверяем тип Данные перед обращением к Тема. MIME-roundtrip этого вложения здесь не выполнялся.

Как проверить результат

  1. Три сообщения Истина: внутренняя тема, внешняя тема, одно вложение.

  2. Внешнее и внутреннее письма не перепутаны; файлов explanation.eml на диске нет.

Ожидаемый результат

Прикреплено собственное письмо с отдельной темой и текстом.

На что обратить внимание

  1. Объект письма и успешный разбор MIME не доказывают отправку, доставку, подлинность отправителя или прочтение.

  2. После разбора входного MIME представление Данные может отличаться: всегда проверяйте фактический тип.

  3. Вложенный From не подтверждает происхождение внешнего письма.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.