ИнтернетПочтовыеАдреса.Добавить

Методы · Add

Синтаксис и применение ИнтернетПочтовыеАдреса.Добавить в платформе 1С:Предприятие. Описание и примеры кода.

Синтаксис

Добавить(<ПочтовыйАдрес>)
Добавить(<Пользователь>, <Сервер>)
Полное описание, параметры и ограничения

ИнтернетПочтовыеАдреса.Добавить (InternetMailAddresses.Add)

ИнтернетПочтовыеАдреса (InternetMailAddresses)

Добавить (Add)

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

Вариант синтаксиса: Добавить адрес строкой

Синтаксис:
Добавить(<ПочтовыйАдрес>)
Параметры:

<ПочтовыйАдрес> (необязательный)
Тип: Строка.
Почтовый адрес.
Описание варианта метода:
Добавляет полный почтовый адрес в коллекцию почтовых адресов.
Вариант синтаксиса: Добавить адрес парой (пользователь, сервер)

Синтаксис:
Добавить(<Пользователь>, <Сервер>)
Параметры:

<Пользователь> (необязательный)
Тип: Строка.
Имя пользователя.

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

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

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

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

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

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

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

Разобрать адрес и переименовать учебного получателя

Коллекция Добавить имеет вариант полного адреса и вариант пользователь/сервер. Сервер адреса только читаем, Пользователь допускает изменение.

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

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

Подготовка

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

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

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

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

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

  1. Начальную коллекцию очищаем только у собственного объекта письма.

  2. Добавить("student", "example.invalid") создаёт адрес из двух частей; отображаемое имя настраиваем отдельно.

  3. Изменение Пользователь обновляет полный Адрес. Сервер — readonly: не присваиваем его.

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

  1. Шесть сообщений Истина.

  2. Код не проверяет существование почтового ящика и не выполняет DNS-запрос.

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

Разделены машинный адрес, пользователь, сервер и подпись получателя.

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

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

  2. Нельзя проверять доставляемость по наличию символа @ или отображаемого имени.

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

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

Увидеть, почему 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С.

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

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

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

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

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