ИнтернетПочтовоеСообщение.Тема

Свойства · Subject

Тип: Строка. Тема сообщения.

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

ИнтернетПочтовоеСообщение.Тема (InternetMailMessage.Subject)

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

Тема (Subject)

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

Использование:
Чтение и запись.
Описание:
Тип: Строка.
Тема сообщения.
Доступность:

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

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

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

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

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

Увидеть, почему MIME-байты не являются полной копией объекта

ПолучитьИсходныеДанные формирует представление для передачи по почте. По локальной справке слепые копии в это представление не входят.

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

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

Подготовка

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

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

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

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

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

  1. У исходного объекта есть одна собственная слепая копия.

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

  3. Основная тема восстановлена, но слепой адрес в копии отсутствует. Исходный объект всё ещё содержит его.

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

  1. Пять сообщений Истина: источник с одной BCC, MIME непустой, тема сохранена, копия без BCC, источник не изменён.

  2. Ни отправки, ни раскрытия слепого адреса обычным адресатам здесь нет.

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

На конкретном различии показано, что MIME-roundtrip не гарантирует эквивалентность объектов.

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

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

  2. Не используйте MIME как единственный архив внутренней маршрутизации, статусов сервера и всех свойств объекта.

  3. Прочие особенности MIME-разбора могут тоже изменить представление; это не универсальный сериализатор 1С.

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

Записать и прочитать собственный заголовок X-Guide-Code

В ПолучитьПолеЗаголовка вторым аргументом передаём значение ожидаемого типа — пустую строку, а не Тип("Строка"). Повторная установка заменяет прежнее значение.

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

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

Подготовка

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

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

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

Письмо = Новый ИнтернетПочтовоеСообщение;
Письмо.Кодировка = "UTF-8";
Письмо.Отправитель = "guide@example.invalid";
Письмо.ИмяОтправителя = "Учебный магазин";
Письмо.Получатели.Добавить("student@example.invalid");
Письмо.Тема = "Учебные товары";
Письмо.Тексты.Добавить("Книга: 3; Ручка: 1", ТипТекстаПочтовогоСообщения.ПростойТекст);
ИмяПоля = "X-Guide-Code";
НовоеЗначение = "A-01";
Если СтрНайти(НовоеЗначение, Символы.ВК) > 0 Или СтрНайти(НовоеЗначение, Символы.ПС) > 0 Тогда
    ВызватьИсключение "Переносы строк в учебном значении заголовка запрещены";
КонецЕсли;
Письмо.УстановитьПолеЗаголовка(ИмяПоля, НовоеЗначение, СпособКодированияНеASCIIСимволовИнтернетПочтовогоСообщения.MIME);
Сообщить(Письмо.ПолучитьПолеЗаголовка(ИмяПоля, "") = "A-01");
Письмо.УстановитьПолеЗаголовка(ИмяПоля, "B-02");
Сообщить(Письмо.ПолучитьПолеЗаголовка(ИмяПоля, "") = "B-02");
Сообщить(Письмо.Тема = "Учебные товары");

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

  1. Имя состоит из допустимых ASCII-символов без двоеточия; значение ограничено собственным кодом товара.

  2. УстановитьПолеЗаголовка добавляет пользовательский заголовок, не меняет тему.

  3. Пустая строка во втором аргументе чтения задаёт ожидаемый строковый тип; повторная установка перезаписывает A-01 на B-02.

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

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

  2. Проверка CR/LF выполняется до первой установки значения.

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

Установлен и изменён собственный служебный заголовок письма.

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

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

  2. Защита двух переносов в уроке не является универсальной проверкой безопасности произвольных MIME-заголовков.

  3. Не заменяйте пользовательским заголовком обязательные правила адресации, подписи или авторизации.

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

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

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

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

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