Синтаксис и применение ПочтовоеСообщение.По умолчанию в платформе 1С:Предприятие. Описание и примеры кода.
Синтаксис
Новый ПочтовоеСообщениеПолное описание, параметры и ограничения
ПочтовоеСообщение.По умолчанию
ПочтовоеСообщение (MailMessage)
По умолчанию
Синтаксис:
Новый ПочтовоеСообщение
Методическая информация
Практические примеры
Windows MAPI: свой профиль, чтение конвертов и учебное письмо
Операции собственной почтовой системы MAPI, не SMTP-клиента ИнтернетПочта.
Где и как запускать
Тонкий или толстый клиент Windows с действительным собственным MAPI-профилем.
Подготовка
Windows, тонкий или толстый клиент: заранее настройте собственный изолированный MAPI-профиль в установленной почтовой программе.
ИмяУчебногоПрофиля, ПарольУчебногоПрофиля и АдресУчебногоПолучателя — строки действительных собственных настроек. Получатель должен быть вашим учебным ящиком; пароль не выводится. Это инициирует реальную отправку только при ручном запуске вами.
Процедура ПроверитьУчебнуюПочту()
Сеанс = Новый Почта;
Сеанс.Подключиться(ИмяУчебногоПрофиля, ПарольУчебногоПрофиля);
Конверты = Сеанс.Выбрать(Истина, Истина);
Сообщить("Непрочитанных конвертов: " + Строка(Конверты.Количество()));
Письмо = Новый ПочтовоеСообщение;
Письмо.Получатели.Добавить(АдресУчебногоПолучателя);
Письмо.Тема = "Учебный расчет";
Письмо.Текст = "6 * 250 = 1500";
Сеанс.Послать(Письмо, Ложь);
Сеанс.Отключиться();
КонецПроцедурыРазбор по шагам
Создайте Почта и подключите конкретный учебный профиль.
Получите только непрочитанные конверты, без вложений.
Отправьте себе учебный текст и при нормальном завершении отключитесь.
Как проверить результат
Сопоставьте количество с собственным учебным ящиком.
Проверьте доставку вручную: возврат Послать сам по себе не доказывает доставку.
Ожидаемый результат
Операции собственной почтовой системы MAPI, не SMTP-клиента ИнтернетПочта.
На что обратить внимание
Не используйте рабочий профиль по умолчанию и чужой ящик. При исключении выполнение может не дойти до Отключиться; не повторяйте отправку автоматически. MAPI должен быть установлен и совместим с разрядностью клиента.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
Убрать адресатов из своего черновика по индексу и по объекту
Удалить и Очистить здесь меняют только коллекцию нового письма, не удаляют контакты или полученные письма.
Где и как запускать
Полный модуль своей управляемой формы. Настольный тонкий или толстый клиент. Только память, без MAPI-подключения.
Подготовка
Используйте отдельную конфигурацию УчебнаяКонфигурацияСинтаксиса. Создайте внешнюю обработку с управляемой формой и командой ПроверитьЧерновик; обработчику команды назначьте процедуру из полного модуля выбранного урока.
ПочтовоеСообщение — настольный клиентский тип семейства Почта/MAPI, не ИнтернетПочтовоеСообщение для SMTP/IMAP. Урок доступен тонкому и толстому клиенту, не веб-клиенту или серверу.
Все адреса заканчиваются на example.invalid и являются учебными. Не используйте личные адреса, пароли, профили почтового клиента или реальные файлы.
Объект Почта не создаётся и подключение не выполняется. Создание черновика в памяти не создаёт письмо в 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");
КонецПроцедурыРазбор по шагам
Добавить три собственных адреса; сохранить объект второго адресата.
Скопировать строки адресов в новый массив: это независимый снимок, не ссылки на адресные объекты.
Удалить индекс 0: второй адрес становится первым.
Удалить сохранённый объект второго адресата независимо от изменившегося индекса.
Очистить оставшуюся коллекцию нового письма и проверить, что снимок из трёх строк не изменён.
Как проверить результат
Семь булевых сообщений Истина; последовательно 3→2→1→0 адресатов, снимок остаётся из трёх строк.
Существующие письма и адресная книга не затронуты.
Ожидаемый результат
Есть реальный разбор двух способов удаления, сдвига индексов и независимой копии адресных строк.
На что обратить внимание
Индексы меняются после удаления; не храните старый индекс для последующего удаления другого адресата.
Объект для удаления должен принадлежать этой коллекции.
Очистить коллекцию нового черновика не означает удалить почту на сервере.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.