Добавляет текст в коллекцию почтовых текстов.
Синтаксис
Добавить(<Текст>, <ТипТекста>)Добавить(<Текст>)Полное описание, параметры и ограничения
ИнтернетТекстыПочтовогоСообщения.Добавить (InternetMailTexts.Add)
ИнтернетТекстыПочтовогоСообщения (InternetMailTexts)
Добавить (Add)
Доступен, начиная с версии 8.0.
Вариант синтаксиса: С указанием типа текста
Синтаксис:
Добавить(<Текст>, <ТипТекста>)
Параметры:
<Текст> (необязательный)
Тип: Строка.
Добавляемый текст.
<ТипТекста> (необязательный)
Тип: Строка, ТипТекстаПочтовогоСообщения.
Указывает тип добавляемого текста.
Если Строка, то свойство ТипТекста устанавливается в ПроизвольныйТекст.
При генерации отправляемого текста письма, в поле Content-Type письма добавляется (или заменяется) параметр charset, получаемый из кодировки, указанной в свойстве Кодировка.
Значение по умолчанию: ПростойТекст.
Вариант синтаксиса: Без указания типа текста
Синтаксис:
Добавить(<Текст>)
Параметры:
<Текст> (необязательный)
Тип: Строка.
Добавляемый текст.
Возвращаемое значение:
Тип: ИнтернетТекстПочтовогоСообщения.
Описание:
Добавляет текст в коллекцию почтовых текстов.
Доступность:
Тонкий клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Примечание:
Если для всех параметров метода используются значения по умолчанию, то ТипТекста добавленного объекта ИнтернетТекстПочтовогоСообщения будет равен HTML. Если же указан первый параметр <Текст>, то в качестве типа текста будет установлен ПростойТекст.
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Задать собственный тип текста application/json
Строковый второй аргумент Добавить задаёт ПроизвольныйТекст. MIME-тип сообщает формат, но сам не проверяет поля JSON.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
В учебной базе выполните код на сервере. Письмо создаётся и разбирается в памяти; профиль почты, пароль, SMTP/IMAP и вызов Послать не нужны.
Все адреса заданы на учебном домене example.invalid. Не заменяйте их реальными адресами и не добавляйте отправку при первой проверке.
Письмо о двух учебных товарах не содержит персональных данных, реальных заказов и внешних 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}");Разбор по шагам
JSON задан собственной строкой; двойные кавычки экранированы по правилам BSL.
Строка MIME-типа во втором аргументе меняет ТипТекста на ПроизвольныйТекст.
ПроизвольныйТипТекста можно дополнить собственным параметром; содержимое JSON при этом не меняется.
Как проверить результат
Четыре сообщения Истина.
Получатель ещё не прочитал JSON и не подтвердил его контракт.
Ожидаемый результат
Разделены собственный MIME-тип текстовой части и её строковое содержимое.
На что обратить внимание
Объект письма и успешный разбор MIME не доказывают отправку, доставку, подлинность отправителя или прочтение.
Не используйте MIME-тип как замену ПрочитатьJSON, проверки типов и обязательных полей.
Некоторые почтовые клиенты могут показать такую часть как файл, а не обычный текст.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Связать собственную HTML-картинку с вложением через cid
Знак SVG задан прямо в коде без внешних ресурсов. Идентификатор вложения сопоставляется cid-ссылке, не HTTP-адресу.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
В учебной базе выполните код на сервере. Письмо создаётся и разбирается в памяти; профиль почты, пароль, SMTP/IMAP и вызов Послать не нужны.
Все адреса заданы на учебном домене example.invalid. Не заменяйте их реальными адресами и не добавляйте отправку при первой проверке.
Письмо о двух учебных товарах не содержит персональных данных, реальных заказов и внешних HTML-ресурсов. Его текст не является счётом или подтверждением доставки.
Письмо = Новый ИнтернетПочтовоеСообщение;
Письмо.Кодировка = "UTF-8";
Письмо.Отправитель = "guide@example.invalid";
Письмо.ИмяОтправителя = "Учебный магазин";
Письмо.Получатели.Добавить("student@example.invalid");
Письмо.Тема = "Учебные товары";
Письмо.Тексты.Добавить("Книга: 3; Ручка: 1", ТипТекстаПочтовогоСообщения.ПростойТекст);
SVG = "<svg xmlns=""http://www.w3.org/2000/svg"" width=""32"" height=""32"" viewBox=""0 0 32 32""><rect width=""32"" height=""32"" rx=""6"" fill=""#146e32""/><path d=""M8 16l5 5 11-12"" fill=""none"" stroke=""white"" stroke-width=""3""/></svg>";
БайтыЗнака = ПолучитьДвоичныеДанныеИзСтроки(SVG, КодировкаТекста.UTF8, Ложь);
Знак = Письмо.Вложения.Добавить(БайтыЗнака, "guide-mark.svg");
Знак.ТипСодержимого = "image/svg+xml";
Знак.Идентификатор = "guide-mark@guide";
HTML = Письмо.Тексты.Добавить("<p>Товары подготовлены <img src=""cid:guide-mark@guide"" alt=""Учебный знак""></p>", ТипТекстаПочтовогоСообщения.HTML);
Сообщить(СтрНайти(HTML.Текст, "cid:" + Знак.Идентификатор) > 0);
Сообщить(Знак.ТипСодержимого = "image/svg+xml");
Сообщить(ПолучитьСтрокуИзДвоичныхДанных(Знак.Данные, КодировкаТекста.UTF8) = SVG);Разбор по шагам
SVG содержит только собственные фигуры и цвета, без script, внешнего href и скачивания.
Идентификатор guide-mark@guide связываем с src="cid:guide-mark@guide".
Проверяем связь в строке и собственные байты, не открывая HTML и не отправляя письмо.
Как проверить результат
Три сообщения Истина.
Рендеринг SVG в конкретном почтовом клиенте не проверен и не обещается.
Ожидаемый результат
Создана внутренняя связь собственной картинки и HTML-части письма.
На что обратить внимание
Объект письма и успешный разбор MIME не доказывают отправку, доставку, подлинность отправителя или прочтение.
Многие клиенты ограничивают SVG: для реальной рассылки нужен проверенный поддерживаемый формат.
Этот собственный SVG не является разрешением открывать недоверенные активные вложения.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.