BulkMailDownload Method поддерживает выбор папки в режиме IMAP?

Регистрация
19.12.2015
Сообщения
284
Благодарностей
36
Баллы
28

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 253
Благодарностей
5 851
Баллы
113
Регистрация
19.12.2015
Сообщения
284
Благодарностей
36
Баллы
28
Спасибо за ответ.

Скажите, пожалуйста, метод ZennoPoster.MailConfirm - это именно тот алгоритм, который находится «под капотом» у кубика «Принять почту»?
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 253
Благодарностей
5 851
Баллы
113
Регистрация
19.12.2015
Сообщения
284
Благодарностей
36
Баллы
28
Спасибо за ответ.

Вот почему я интересуюсь.

Дело в том, что по моему опыту работы с кубиком «Принять почту», по протоколу IMAP, с Яндекса, коэффициент полезного действия (коэффициент надежности) кубика «Принять почту» равняется примерно 70%.

Поясню данную проблему.

При прочих равных условиях, примерно в 3 случаях из 10, кубик «Принять почту» почему-то не отлавливает пришедшее письмо, которое уже давно лежит в почтовом ящике на Яндексе. Причем даже многократные повторные попытки кубика найти это письмо не приносят положительного результата.

Что можете посоветовать?

Есть ли где-то подробный лог работы этого кубика при его взаимодействии по протоколу IMAP с почтовым сервером Яндекса?
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 253
Благодарностей
5 851
Баллы
113
При прочих равных условиях, примерно в 3 случаях из 10, кубик «Принять почту» почему-то не отлавливает пришедшее письмо, которое уже давно лежит в почтовом ящике на Яндексе.
Что можете посоветовать?
Не отлавливает? - это не скачивает или не находит по regex?
Лог PM при отладке попробуйте посмотреть.
Логи_PM.png
 
Регистрация
19.12.2015
Сообщения
284
Благодарностей
36
Баллы
28
Не отлавливает? - это не скачивает или не находит по regex?
Лог PM при отладке попробуйте посмотреть.
Посмотреть вложение 14266
Я стал разбираться с подробным логом работы кубика «Принять почту» (отладочная информация для разработчиков).

Мне кажется, я нашел причину того, почему иногда не отлавливается письмо, даже если оно уже лежит в нужной папке IMAP на почтовом сервере.

Если при самой первой попытке проверки ящика почтовый сервер IMAP говорит о том, что в папке нет ни одного письма (папка пустая), то при всех последующих попытках проверки этого ящика Зеннопостер не дает комманду FETCH даже если почтовый сервер IMAP на новый запрос отвечает, что в папке уже есть одно письмо (1 EXISTS).

Даже не попытавшись загрузить конверты с письмами, Зеннопостер все равно пытается парсить текст, находящийся в переменной.

Но переменная даже не была инициализирована, в ней содержится старая информация!

Естественно, при этом каждый раз парсинг по регулярному выражению не дает результата, и каждый раз выдается ошибка: Message is NOT match

Для того, чтобы воспроизвести эту проблему, создайте новую пустую папку на IMAP сервере и натравите на нее кубик «Принять почту», предварительно установив достаточно маленький временной интервал между началом первой попыткой проверки почты (например 2 секунды).

Если на самой первой попытке в папке IMAP не было ни одного письма, но на второй или третьей попытке нужное письмо уже лежало в папке, Зеннопостер упорно не будет находить это письмо, и действие «Принять почту» неизбежно завершится неудачей.
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 253
Благодарностей
5 851
Баллы
113
Я стал разбираться с подробным логом работы кубика «Принять почту» (отладочная информация для разработчиков).

Мне кажется, я нашел причину того, почему иногда не отлавливается письмо, даже если оно уже лежит в нужной папке IMAP на почтовом сервере.

Если при самой первой попытке проверки ящика почтовый сервер IMAP говорит о том, что в папке нет ни одного письма (папка пустая), то при всех последующих попытках проверки этого ящика Зеннопостер не дает комманду FETCH даже если почтовый сервер IMAP на новый запрос отвечает, что в папке уже есть одно письмо (1 EXISTS).

Даже не попытавшись загрузить конверты с письмами, Зеннопостер все равно пытается парсить текст, находящийся в переменной.

Но переменная даже не была инициализирована, в ней содержится старая информация!

Естественно, при этом каждый раз парсинг по регулярному выражению не дает результата, и каждый раз выдается ошибка: Message is NOT match

Для того, чтобы воспроизвести эту проблему, создайте новую пустую папку на IMAP сервере и натравите на нее кубик «Принять почту», предварительно установив достаточно маленький временной интервал между началом первой попыткой проверки почты (например 2 секунды).

Если на самой первой попытке в папке IMAP не было ни одного письма, но на второй или третьей попытке нужное письмо уже лежало в папке, Зеннопостер упорно не будет находить это письмо, и действие «Принять почту» неизбежно завершится неудачей.
Вы не могли бы предоставить шаблон, который наглядно воспроизводил данную проблему?
 
Регистрация
19.12.2015
Сообщения
284
Благодарностей
36
Баллы
28
Вы не могли бы предоставить шаблон, который наглядно воспроизводил данную проблему?
Я попробую сделать специальный тестовый шаблон, который бы воспроизводил данную проблему. На это потребуется некоторое время, не могу обещать, что это будет быстро.

Но сейчас уже можно проанализировать подробные логи работы действия «Принять почту».

Эти логи можно скачать по ссылке: IMAP logs.rar
  • Подробный лог работы действия «Принять почту» для того случая, когда нужное письмо отлавливается
  • Подробный лог работы действия «Принять почту» для того случая, когда нужное письмо никак не отлавливается, хотя в ходе работы действия «Принять почту» оно уже успело упасть в требуемую папку, но действие «Принять почту» упорно не желает его змечать
Сравнив эти два лога, можно обнаружить, что если перед началом первой попытки (действие «Принять почту» каждый раз делает три отдельные попытки найти письмо с заданным временным интервалом между отдельными попытками) заданная рабочая папка на почтовом сервере IMAP не была пуста, то действие «Принять почту» может в конце концов отловить нужное письмо даже в том случае, если во время первой или второй попытки этого письма еще не было в заданной папке, но потом оно туда поступило, например до начала третей и последней попытки. Но если на момент самой первой попытки рабочая папка на почтовом сервере IMAP была пуста (то есть, в этой папке нет ни одного письма), то то действие «Принять почту» не предпринимает попыток загрузить письма даже в том случае, если на момент второй и третей попытки почтовый сервер говорит, что в папке имеется одно письмо.
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 253
Благодарностей
5 851
Баллы
113
Регистрация
19.12.2015
Сообщения
284
Благодарностей
36
Баллы
28
Куда можно отправить пароль? Не вижу здесь возможности отправить личное сообщение...
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 253
Благодарностей
5 851
Баллы
113
Регистрация
19.12.2015
Сообщения
284
Благодарностей
36
Баллы
28
Спасибо, пароль отправлен...
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 253
Благодарностей
5 851
Баллы
113
Я попробую сделать специальный тестовый шаблон, который бы воспроизводил данную проблему. На это потребуется некоторое время, не могу обещать, что это будет быстро.

Но сейчас уже можно проанализировать подробные логи работы действия «Принять почту».

Эти логи можно скачать по ссылке: IMAP logs.rar
  • Подробный лог работы действия «Принять почту» для того случая, когда нужное письмо отлавливается
  • Подробный лог работы действия «Принять почту» для того случая, когда нужное письмо никак не отлавливается, хотя в ходе работы действия «Принять почту» оно уже успело упасть в требуемую папку, но действие «Принять почту» упорно не желает его змечать
Сравнив эти два лога, можно обнаружить, что если перед началом первой попытки (действие «Принять почту» каждый раз делает три отдельные попытки найти письмо с заданным временным интервалом между отдельными попытками) заданная рабочая папка на почтовом сервере IMAP не была пуста, то действие «Принять почту» может в конце концов отловить нужное письмо даже в том случае, если во время первой или второй попытки этого письма еще не было в заданной папке, но потом оно туда поступило, например до начала третей и последней попытки. Но если на момент самой первой попытки рабочая папка на почтовом сервере IMAP была пуста (то есть, в этой папке нет ни одного письма), то то действие «Принять почту» не предпринимает попыток загрузить письма даже в том случае, если на момент второй и третей попытки почтовый сервер говорит, что в папке имеется одно письмо.
К сожалению, по логам не можем определить причину проблемы. Нужен воспроизводящий шаблон.
 

andrey-ka

Client
Регистрация
03.06.2018
Сообщения
854
Благодарностей
246
Баллы
43
Столкнулся с подобной проблемой в сервисе mail.ru.
Письмо приходит в категории "Рассылки" и не ловится функцией ZennoPoster.MailConfirm
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)