ИнтернетПочтовоеСообщение.ПолучитьПолеЗаголовка

Методы · GetField

Получает значение требуемого поля.

Синтаксис

ПолучитьПолеЗаголовка(<ИмяПоля>, <ТипПолучаемогоПоля>)
Полное описание, параметры и ограничения

ИнтернетПочтовоеСообщение.ПолучитьПолеЗаголовка (InternetMailMessage.GetField)

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

ПолучитьПолеЗаголовка (GetField)

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

Синтаксис:
ПолучитьПолеЗаголовка(<ИмяПоля>, <ТипПолучаемогоПоля>)
Параметры:

<ИмяПоля> (обязательный)
Тип: Строка.
Имя получаемого поля из главного заголовка сообщения. Имя может состоять только из печатных символов набора ASCII (т.е. из символов с номерами от 33 до 126 включительно), за исключением символа "двоеточие" (":"). Данный диапазон содержит все буквы английского алфавита (как строчные, так и заглавные) и несколько специальных символов.

<ТипПолучаемогоПоля> (обязательный)
Тип: Число, Строка, ИнтернетПочтовыйАдрес, ИнтернетПочтовыеАдреса.
С помощью данного параметра в метод передается значение одного из допустимых типов возвращаемого значения поля. Значение переданного объекта остается без изменения.
Возвращаемое значение:
Тип: Число, Строка, ИнтернетПочтовыйАдрес, ИнтернетПочтовыеАдреса.

Описание:

Получает значение требуемого поля.

Доступность:

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

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

Доступен, начиная с версии 8.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. В учебной базе выполните код на сервере. Письмо создаётся и разбирается в памяти; профиль почты, пароль, SMTP/IMAP и вызов Послать не нужны.

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

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

СтрокиПисьма = Новый Массив;
СтрокиПисьма.Добавить("From: Guide <guide@example.invalid>");
СтрокиПисьма.Добавить("To: Student <student@example.invalid>");
СтрокиПисьма.Добавить("Subject: Guide fixture");
СтрокиПисьма.Добавить("Date: Sat, 03 Oct 2026 12:00:00 +0300");
СтрокиПисьма.Добавить("Message-ID: <guide-001@example.invalid>");
СтрокиПисьма.Добавить("Organization: Training");
СтрокиПисьма.Добавить("Keywords: learning, fixture");
СтрокиПисьма.Добавить("X-Guide-Code: A-01");
СтрокиПисьма.Добавить("MIME-Version: 1.0");
СтрокиПисьма.Добавить("Content-Type: text/plain; charset=us-ascii");
СтрокиПисьма.Добавить("Content-Transfer-Encoding: 7bit");
СтрокиПисьма.Добавить("");
СтрокиПисьма.Добавить("Book: 3; Pen: 1");
СтрокиПисьма.Добавить("");
ИсходныйТекст = СтрСоединить(СтрокиПисьма, Символы.ВК + Символы.ПС);
ИсходныеДанные = ПолучитьДвоичныеДанныеИзСтроки(ИсходныйТекст, КодировкаТекста.UTF8, Ложь);
Письмо = Новый ИнтернетПочтовоеСообщение;
Письмо.УстановитьИсходныеДанные(ИсходныеДанные);
Если Письмо.СтатусРазбора <> СтатусРазбораИнтернетПочтовогоСообщения.ОшибокНеОбнаружено Тогда
    ВызватьИсключение "Собственное учебное письмо разобрано с ошибками";
КонецЕсли;
Сообщить("Организация из заголовка: " + Письмо.Организация);
Сообщить("Категории, распознанные платформой: " + Письмо.Категории);
Сообщить(Письмо.ПолучитьПолеЗаголовка("Keywords", "") = "learning, fixture");
Сообщить(Не Письмо.Частичное);
Сообщить("Размер свойства: " + Строка(Письмо.Размер));
Сообщить("Размер исходных собственных байтов: " + Строка(ИсходныеДанные.Размер()));
Сообщить(СтрНайти(Письмо.Заголовок, "X-Guide-Code") > 0);
Сообщить(Письмо.ПолучитьПолеЗаголовка("X-Guide-Code", "") = "A-01");

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

  1. Organization и Keywords явно присутствуют в собственной строке MIME; читаем свойства и отдельное поле заголовка.

  2. Категории по карточке API readonly, хотя вложенный пример справки показывает присваивание. Урок следует ограничению доступа и выводит фактический разбор.

  3. Сравниваем два размера как диагностику, не требуем их равенства: справка допускает отличие Размер от реального объёма.

  4. Собственное письмо не message/partial. Частичное не обозначает статус доставки или неполный набор товаров.

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

  1. Четыре логических сообщения Истина: Keywords, нечастичное, заголовок содержит свой X-Guide-Code, поле равно A-01.

  2. Организация, категории и два размера выведены фактически; их не используем как доказательство подлинности или ограничения размера входного файла.

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

Прочитаны сведения MIME без ложных гарантий организации, размера и доставки.

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

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

  2. Organization может содержать произвольный текст отправителя, а не проверенную организацию из базы 1С.

  3. Для лимита входных данных проверяйте фактические полученные байты до разбора, не только Письмо.Размер.

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

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

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

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

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