|
Как ускорить отправку писем через объект ИнтернетПочта |
☑ |
0
ksergey
25.11.16
✎
15:13
|
Добрый день.
Прошу помощи в поиске решения проблемы.
Речь идет об отправке писем через объект ИнтернетПочта.
Стандартная схема работы с объектом ИнтернетПочта следующая:
(это есть в примерах 1с, и у меня используется такая же)
Профиль = Новый ИнтернетПочтовыйПрофиль;
ПочтовоеСообщение = Новый ИнтернетПочтовоеСообщение;
Почта = Новый ИнтернетПочта;
Попытка
Почта.Подключиться(Профиль);
Почта.Послать(ПочтовоеСообщение);
Исключение
//обработка ошибки
КонецПопытки;
Почта.Отключиться();
Замечено, что метод Почта.Подключиться(Профиль) занимает приличное время (до 2сек).
И при массовой отправке писем этот процесс занимает длительное время.
Вопрос к вам коллеги следующий: кто-нибудь работает по нижеприведенной схеме ?
Нет ли в это схеме скрытых нюансов ?
Профиль = Новый ИнтернетПочтовыйПрофиль;
Почта = Новый ИнтернетПочта;
Попытка
Почта.Подключиться(Профиль);
Исключение
//ОТКАЗ отправки
КонецПопытки;
Цикл по СпискуКонтрагентов
ПочтовоеСообщение = Новый ИнтернетПочтовоеСообщение;
Попытка
Почта.Послать(ПочтовоеСообщение);
Исключение
//обработка ошибки
КонецПопытки
КонецЦикла;
Почта.Отключиться();
|
|
1
ksergey
25.11.16
✎
15:18
|
хочу пояснить почечу возник этот бестолковый вопрос
понятно, что я опробовал эту схему.
Сделал небольшую тест-обработку, и на тестовой отправке получил ускорение в 2-2,5 раза...
далее перенес эту схему в рабочую обр-ку, создал набор тест-данных и выполнил 3 тестовых прогона
(отправка с 2-х разных ящиков корпоративного почтового сервера)
и вот здесь самое интересное - вылез такой момент, что в одном из случаев почтовый сервер отправил НЕ все письма, т.е. обработка в лог-файл записала что все письма успешно отправлены, а по факту – 3 письма из 9-ти не пришли на мои ящики…
запустил повторно – и на этот раз действительно всё пришло
|
|
2
oleg_km
25.11.16
✎
15:18
|
логи надо посмотреть на по почтовиках, может какие-то антиспамные проверки. А может криво настроен DNS. Вариантов масса. А с простого почтового клиента лучше?
|
|
3
Spieluhr
25.11.16
✎
15:28
|
В последних версиях Exchange есть ограничение по количеству писем в единицу времени. Через PowerShell скриптом управляется
|
|
4
newbling
25.11.16
✎
16:09
|
А можно 1 раз подключиться перед циклом?
|
|
5
Dunemaster
25.11.16
✎
16:16
|
(1) А почему вы не проверяете результат "Послать"?
|
|
6
ksergey
25.11.16
✎
16:22
|
(4) у меня Подключение сработало, и реально скорость отправки раза в 3 быстрее была
(5) не понял что проверять? о каком результате речь?
это же метод-он никакого результата не возвращает...
у меня метод Почта.Послать() установлен в Попытку
и соот-но все ошибки попадают на исключение, и они пишутся в лог-файл
|
|
7
Вафель
25.11.16
✎
16:26
|
ну посмотри в логах, а дошли ли они до сервака
|
|
8
ksergey
25.11.16
✎
16:43
|
таки повторюсь-собственно сам вопрос был
>> кто-нибудь работает по нижеприведенной схеме ?
возможно сама схема предложенная мною, в принципе не будет работать?
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший