Имя: Пароль:
1C
1С v8
отправка почты ИнтернетПочта
0 I_learn_1c
 
31.01.18
14:57
День добрый!

есть письмо, отправить надо 100 получателям. но среди этих 100 получателей может какой-то ящик стал недействительный. отправка из за останавливается с Почтовый ящик недоступен (smtp error code 550 550 non-local recipient verification failed)

как проверить действителен ли данный адрес? или если например 55-ый адрес-получатель недействителен то пропускать его и отправлять дальше.

связаться с каждым лично и выяснить действителен ли адрес - не подходит, 100 адресов меняются.

на действительные адреса письма отправляются без ошибок. хотелось бы не разбивать на 10 писем по 10 получателей, или вообще 1 письмо - 1 получатель.

Почта = Новый ИнтернетПочта;
Письмо = Новый ИнтернетПочтовоеСообщение;
...//добавляем текст, отправителя Получатели - список значений выбран из регистра

Для каждого Получатель Из Получатели Цикл //Получателей 100 адресов
        Письмо.СлепыеКопии.Добавить(Получатель); //может при добавлении какую то проверку?
КонецЦикла;

Попытка    
                Почта.Подключиться(Профиль);    
                Почта.Послать(Письмо); // или чтобы тут отправлялось всем пропуская недействительных
                
                Сообщить("Письма успешно отправлены!");                
                
                
            Исключение    
                Сообщить(ОписаниеОшибки());
            КонецПопытки;
1 FIXXXL
 
31.01.18
16:15
(0) Почта.Послать(Письмо); в цикл, для каждого Получателя
2 drcrasher
 
31.01.18
16:20
(1) это сильно зависит от smtp сервера, кмк. он может решить, что это спам рассылка. так что тут ещё нужно пачку почтовых ящиков держать для отправки.
вообще  в (0) логичнее было использовать службы рассылок
Независимо от того, куда вы едете — это в гору и против ветра!