Добрый день, вопрос вот какой:
Есть рассылка в 1С и иногда она не происходит из-за неправильных адресов почты.
Нужно чтобы если почта не отправилась выдавать какое-то сообщение, чтобы вручную не шерстить всех адресатов.
Код отправки примерно такой:
Почта = Новый ИнтернетПочта;
Попытка
Почта.Подключиться(Профиль);
Исключение
Сообщить(ОписаниеОшибки());
Возврат;
КонецПопытки;
Сообщение = Новый ИнтернетПочтовоеСообщение;
Сообщение.ИмяОтправителя = "Отправитель ";
Сообщение.Отправитель = ОбщегоНазначениеПривелигированный.ОтправительSMTP();
Сообщение.Тема = "Тема письма";
Сообщение.Тексты.Добавить("Сообщение");
Сообщение.Получатели.Добавить("НеправильныйАдрес");
Попытка
Если ЗначениеЗаполнено(Сообщение.Получатели) Тогда
Почта.Послать(Сообщение);
КонецЕсли;
Исключение
Инфо = ИнформацияОбОшибке();
Сообщить(ОписаниеОшибки());
КонецПопытки;
При этом никаких ошибок не появляется, верный адрес или нет, сообщение якобы отправлено.
Так вот в описании метода Послать() в синтакс-помощнике есть такое:
Возвращаемое значение:
Тип: Соответствие.
Если почтовый сервер не принял какой-нибудь из адресов получателей, то возвращаемое значение содержит соответствие ошибочный получатель - сообщение об ошибке.
При возникновении других ошибочных ситуаций, генерируется исключение.
Но когда я проверяю что возвращает мне этот Послать() то там пустое соответствие, якобы все отправилось.
Можно ли как-то поймать эту ошибку?
(0) Это особенность почтового протокола. Сервер не проверяет сразу же правильность адреса. Он отправляет как есть, ответ приходит от конечного почтового домена.
"сообщение якобы отправлено" - оно не якобы, оно отправлено.
но отправлено != доставлено
и если в процессе доставки возникли проблемы, то о них почтовые сервера сообщат друг другу по обратной цепочке. но произойти это может с существенной задержкой, у нас в некоторые моменты пиковых перегрузок письма в почте сервер обрабатывал почти с 2 часовой задержкой бывало. админы рассказывали что почти до суток доходило, может врут, сам не помню такого.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший