Синтаксис и применение ИнтернетПочтовыеАдреса.Добавить в платформе 1С:Предприятие. Описание и примеры кода.
Синтаксис
Добавить(<ПочтовыйАдрес>)Добавить(<Пользователь>, <Сервер>)Полное описание, параметры и ограничения
ИнтернетПочтовыеАдреса.Добавить (InternetMailAddresses.Add)
ИнтернетПочтовыеАдреса (InternetMailAddresses)
Добавить (Add)
Доступен, начиная с версии 8.0.
Вариант синтаксиса: Добавить адрес строкой
Синтаксис:
Добавить(<ПочтовыйАдрес>)
Параметры:
<ПочтовыйАдрес> (необязательный)
Тип: Строка.
Почтовый адрес.
Описание варианта метода:
Добавляет полный почтовый адрес в коллекцию почтовых адресов.
Вариант синтаксиса: Добавить адрес парой (пользователь, сервер)
Синтаксис:
Добавить(<Пользователь>, <Сервер>)
Параметры:
<Пользователь> (необязательный)
Тип: Строка.
Имя пользователя.
<Сервер> (необязательный)
Тип: Строка.
Имя сервера.
Описание варианта метода:
Добавляет почтовый адрес в коллекцию почтовых адресов как пару (пользователь, сервер).
Возвращаемое значение:
Тип: ИнтернетПочтовыйАдрес.
Доступность:
Тонкий клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Разобрать адрес и переименовать учебного получателя
Коллекция Добавить имеет вариант полного адреса и вариант пользователь/сервер. Сервер адреса только читаем, Пользователь допускает изменение.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
В учебной базе выполните код на сервере. Письмо создаётся и разбирается в памяти; профиль почты, пароль, SMTP/IMAP и вызов Послать не нужны.
Все адреса заданы на учебном домене example.invalid. Не заменяйте их реальными адресами и не добавляйте отправку при первой проверке.
Письмо о двух учебных товарах не содержит персональных данных, реальных заказов и внешних 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");Разбор по шагам
Начальную коллекцию очищаем только у собственного объекта письма.
Добавить("student", "example.invalid") создаёт адрес из двух частей; отображаемое имя настраиваем отдельно.
Изменение Пользователь обновляет полный Адрес. Сервер — readonly: не присваиваем его.
Как проверить результат
Шесть сообщений Истина.
Код не проверяет существование почтового ящика и не выполняет DNS-запрос.
Ожидаемый результат
Разделены машинный адрес, пользователь, сервер и подпись получателя.
На что обратить внимание
Объект письма и успешный разбор MIME не доказывают отправку, доставку, подлинность отправителя или прочтение.
Нельзя проверять доставляемость по наличию символа @ или отображаемого имени.
Не переносите учебное изменение пользователя на адресаты рабочих уведомлений.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Увидеть, почему MIME-байты не являются полной копией объекта
ПолучитьИсходныеДанные формирует представление для передачи по почте. По локальной справке слепые копии в это представление не входят.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
В учебной базе выполните код на сервере. Письмо создаётся и разбирается в памяти; профиль почты, пароль, SMTP/IMAP и вызов Послать не нужны.
Все адреса заданы на учебном домене example.invalid. Не заменяйте их реальными адресами и не добавляйте отправку при первой проверке.
Письмо о двух учебных товарах не содержит персональных данных, реальных заказов и внешних HTML-ресурсов. Его текст не является счётом или подтверждением доставки.
Письмо = Новый ИнтернетПочтовоеСообщение;
Письмо.Кодировка = "UTF-8";
Письмо.Отправитель = "guide@example.invalid";
Письмо.ИмяОтправителя = "Учебный магазин";
Письмо.Получатели.Добавить("student@example.invalid");
Письмо.Тема = "Учебные товары";
Письмо.Тексты.Добавить("Книга: 3; Ручка: 1", ТипТекстаПочтовогоСообщения.ПростойТекст);
Письмо.СлепыеКопии.Добавить("archive@example.invalid");
Сообщить(Письмо.СлепыеКопии.Количество() = 1);
БайтыMIME = Письмо.ПолучитьИсходныеДанные();
Копия = Новый ИнтернетПочтовоеСообщение;
Копия.УстановитьИсходныеДанные(БайтыMIME);
Если Копия.СтатусРазбора <> СтатусРазбораИнтернетПочтовогоСообщения.ОшибокНеОбнаружено Тогда
ВызватьИсключение "Собственная MIME-копия разобрана с ошибками";
КонецЕсли;
Сообщить(БайтыMIME.Размер() > 0);
Сообщить(Копия.Тема = "Учебные товары");
Сообщить(Копия.СлепыеКопии.Количество() = 0);
Сообщить(Письмо.СлепыеКопии.Количество() = 1);Разбор по шагам
У исходного объекта есть одна собственная слепая копия.
Получаем MIME-байты и разбираем их в новом объекте; проверки статуса обязательны.
Основная тема восстановлена, но слепой адрес в копии отсутствует. Исходный объект всё ещё содержит его.
Как проверить результат
Пять сообщений Истина: источник с одной BCC, MIME непустой, тема сохранена, копия без BCC, источник не изменён.
Ни отправки, ни раскрытия слепого адреса обычным адресатам здесь нет.
Ожидаемый результат
На конкретном различии показано, что MIME-roundtrip не гарантирует эквивалентность объектов.
На что обратить внимание
Объект письма и успешный разбор MIME не доказывают отправку, доставку, подлинность отправителя или прочтение.
Не используйте MIME как единственный архив внутренней маршрутизации, статусов сервера и всех свойств объекта.
Прочие особенности MIME-разбора могут тоже изменить представление; это не универсальный сериализатор 1С.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.