|
Отправка писем на неправильные адреса | ☑ | ||
---|---|---|---|---|
0
rooffy
13.03.19
✎
17:03
|
Добрый день, вопрос вот какой:
Есть рассылка в 1С и иногда она не происходит из-за неправильных адресов почты. Нужно чтобы если почта не отправилась выдавать какое-то сообщение, чтобы вручную не шерстить всех адресатов. Код отправки примерно такой: Профиль = Новый ИнтернетПочтовыйПрофиль; Профиль.АдресСервераSMTP = ОбщегоНазначениеПривелигированный.АдресСервераSMTPРассылки(); Профиль.ПользовательSMTP = ОбщегоНазначениеПривелигированный.ПользовательSMTP(); Профиль.ПарольSMTP = ОбщегоНазначениеПривелигированный.ПарольSMTP(); Профиль.АутентификацияSMTP = СпособSMTPАутентификации.Login; Почта = Новый ИнтернетПочта; Попытка Почта.Подключиться(Профиль); Исключение Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; Сообщение = Новый ИнтернетПочтовоеСообщение; Сообщение.ИмяОтправителя = "Отправитель "; Сообщение.Отправитель = ОбщегоНазначениеПривелигированный.ОтправительSMTP(); Сообщение.Тема = "Тема письма"; Сообщение.Тексты.Добавить("Сообщение"); Сообщение.Получатели.Добавить("НеправильныйАдрес"); Попытка Если ЗначениеЗаполнено(Сообщение.Получатели) Тогда Почта.Послать(Сообщение); КонецЕсли; Исключение Инфо = ИнформацияОбОшибке(); Сообщить(ОписаниеОшибки()); КонецПопытки; При этом никаких ошибок не появляется, верный адрес или нет, сообщение якобы отправлено. Так вот в описании метода Послать() в синтакс-помощнике есть такое: Возвращаемое значение: Тип: Соответствие. Если почтовый сервер не принял какой-нибудь из адресов получателей, то возвращаемое значение содержит соответствие ошибочный получатель - сообщение об ошибке. При возникновении других ошибочных ситуаций, генерируется исключение. Но когда я проверяю что возвращает мне этот Послать() то там пустое соответствие, якобы все отправилось. Можно ли как-то поймать эту ошибку? |
|||
1
rooffy
14.03.19
✎
11:51
|
вверх
|
|||
2
sieben
14.03.19
✎
12:07
|
Почему ты думаешь, что почтовый сервер не принял какой-нибудь из адресов получателей?
|
|||
3
ДенисЧ
14.03.19
✎
12:09
|
В случае почты ты не узнаешь, что адрес неправильный... Сейчас сервера не говорят о том, что адрес неправильный... Защита от спама.
|
|||
4
polosov
14.03.19
✎
12:10
|
(0) Это особенность почтового протокола. Сервер не проверяет сразу же правильность адреса. Он отправляет как есть, ответ приходит от конечного почтового домена.
|
|||
5
arsik
гуру
14.03.19
✎
12:11
|
(0) Ну проверяй ответы. Если в ответе ошибка, исключай это емейл для следующих отправок.
|
|||
6
Bigbro
14.03.19
✎
12:42
|
"сообщение якобы отправлено" - оно не якобы, оно отправлено.
но отправлено != доставлено и если в процессе доставки возникли проблемы, то о них почтовые сервера сообщат друг другу по обратной цепочке. но произойти это может с существенной задержкой, у нас в некоторые моменты пиковых перегрузок письма в почте сервер обрабатывал почти с 2 часовой задержкой бывало. админы рассказывали что почти до суток доходило, может врут, сам не помню такого. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |