ПочтовоеСообщение.По умолчанию

Конструкторы

Синтаксис и применение ПочтовоеСообщение.По умолчанию в платформе 1С:Предприятие. Описание и примеры кода.

Синтаксис

Новый ПочтовоеСообщение
Полное описание, параметры и ограничения

ПочтовоеСообщение.По умолчанию

ПочтовоеСообщение (MailMessage)

По умолчанию

Синтаксис:
Новый ПочтовоеСообщение
Методическая информация

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

Windows MAPI: свой профиль, чтение конвертов и учебное письмо

Операции собственной почтовой системы MAPI, не SMTP-клиента ИнтернетПочта.

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

Тонкий или толстый клиент Windows с действительным собственным MAPI-профилем.

Подготовка

  1. Windows, тонкий или толстый клиент: заранее настройте собственный изолированный MAPI-профиль в установленной почтовой программе.

  2. ИмяУчебногоПрофиля, ПарольУчебногоПрофиля и АдресУчебногоПолучателя — строки действительных собственных настроек. Получатель должен быть вашим учебным ящиком; пароль не выводится. Это инициирует реальную отправку только при ручном запуске вами.

Процедура ПроверитьУчебнуюПочту()
    Сеанс = Новый Почта;
    Сеанс.Подключиться(ИмяУчебногоПрофиля, ПарольУчебногоПрофиля);
    Конверты = Сеанс.Выбрать(Истина, Истина);
    Сообщить("Непрочитанных конвертов: " + Строка(Конверты.Количество()));
    Письмо = Новый ПочтовоеСообщение;
    Письмо.Получатели.Добавить(АдресУчебногоПолучателя);
    Письмо.Тема = "Учебный расчет";
    Письмо.Текст = "6 * 250 = 1500";
    Сеанс.Послать(Письмо, Ложь);
    Сеанс.Отключиться();
КонецПроцедуры

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

  1. Создайте Почта и подключите конкретный учебный профиль.

  2. Получите только непрочитанные конверты, без вложений.

  3. Отправьте себе учебный текст и при нормальном завершении отключитесь.

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

  1. Сопоставьте количество с собственным учебным ящиком.

  2. Проверьте доставку вручную: возврат Послать сам по себе не доказывает доставку.

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

Операции собственной почтовой системы MAPI, не SMTP-клиента ИнтернетПочта.

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

  1. Не используйте рабочий профиль по умолчанию и чужой ящик. При исключении выполнение может не дойти до Отключиться; не повторяйте отправку автоматически. MAPI должен быть установлен и совместим с разрядностью клиента.

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

Убрать адресатов из своего черновика по индексу и по объекту

Удалить и Очистить здесь меняют только коллекцию нового письма, не удаляют контакты или полученные письма.

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

Полный модуль своей управляемой формы. Настольный тонкий или толстый клиент. Только память, без MAPI-подключения.

Подготовка

  1. Используйте отдельную конфигурацию УчебнаяКонфигурацияСинтаксиса. Создайте внешнюю обработку с управляемой формой и командой ПроверитьЧерновик; обработчику команды назначьте процедуру из полного модуля выбранного урока.

  2. ПочтовоеСообщение — настольный клиентский тип семейства Почта/MAPI, не ИнтернетПочтовоеСообщение для SMTP/IMAP. Урок доступен тонкому и толстому клиенту, не веб-клиенту или серверу.

  3. Все адреса заканчиваются на example.invalid и являются учебными. Не используйте личные адреса, пароли, профили почтового клиента или реальные файлы.

  4. Объект Почта не создаётся и подключение не выполняется. Создание черновика в памяти не создаёт письмо в Outlook, не отправляет его и не проверяет доставку.

&НаКлиенте
Процедура ПроверитьЧерновик(Команда)
    Письмо = Новый ПочтовоеСообщение;
    Письмо.Отправитель = "warehouse@example.invalid";
    Письмо.Тема = "Учебный заказ Книга, 3 шт.";
    Письмо.Текст = "Книга: 3 шт. по 250, итого 750. Это только объект в памяти.";
    Адреса = Письмо.Получатели;
    Адреса.Добавить("first@example.invalid");
    Удаляемый = Адреса.Добавить("second@example.invalid");
    Адреса.Добавить("third@example.invalid");
    СнимокАдресов = Новый Массив;
    Для Каждого Адрес Из Адреса Цикл
        СнимокАдресов.Добавить(Адрес.Адрес);
    КонецЦикла;
    Адреса.Удалить(0);
    Сообщить(Адреса.Количество() = 2);
    Сообщить(Адреса.Получить(0).Адрес = "second@example.invalid");
    Адреса.Удалить(Удаляемый);
    Сообщить(Адреса.Количество() = 1);
    Сообщить(Адреса.Получить(0).Адрес = "third@example.invalid");
    Адреса.Очистить();
    Сообщить(Письмо.Получатели.Количество() = 0);
    Сообщить(СнимокАдресов.Количество() = 3);
    Сообщить(СнимокАдресов[0] = "first@example.invalid");
КонецПроцедуры

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

  1. Добавить три собственных адреса; сохранить объект второго адресата.

  2. Скопировать строки адресов в новый массив: это независимый снимок, не ссылки на адресные объекты.

  3. Удалить индекс 0: второй адрес становится первым.

  4. Удалить сохранённый объект второго адресата независимо от изменившегося индекса.

  5. Очистить оставшуюся коллекцию нового письма и проверить, что снимок из трёх строк не изменён.

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

  1. Семь булевых сообщений Истина; последовательно 3→2→1→0 адресатов, снимок остаётся из трёх строк.

  2. Существующие письма и адресная книга не затронуты.

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

Есть реальный разбор двух способов удаления, сдвига индексов и независимой копии адресных строк.

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

  1. Индексы меняются после удаления; не храните старый индекс для последующего удаления другого адресата.

  2. Объект для удаления должен принадлежать этой коллекции.

  3. Очистить коллекцию нового черновика не означает удалить почту на сервере.

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

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

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

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

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