Сомнительно но окей...
InMail - Модуль для работы с входящей почтой
-
@fluffik
Кубик "Настроить получение почты"
Протокол: imap
Автонастройка: false
Адрес сервера: outlook.office365.com
Порт: auto
Шифрование: SSL
Логин: блабла@hotmail.com
Пароль: блаблаблаблаДальше кубик "Получить содержимое последнего письма"
Потом создаём лог:
[[MAIL_TEXT_PLAIN]] -
При попытках "Получить содержимое письма по критериям" как-то слишком часто получаю ошибки такого плана:
[190339380] [16:16:37] Поток №1 : _InMail.imap.search: FAILED_PARSE - Не удалось распарсить результат: "* SEARCH 1493480 * 1139 EXPUNGE * 1137 EXPUNGE * 1135 EXPUNGE * 1134 EXPUNGE * 1132 EXPUNGE" [190339380] [16:16:51] Поток №1 : _InMail.imap.search: FAILED_PARSE - Не удалось распарсить результат: "* SEARCH 1493480 * 1141 EXPUNGE * 1140 EXPUNGE * 1139 EXPUNGE * 1137 EXPUNGE"Почтовый сервер свой (на арендованном VDS). Лимитов подключений к почте нет (как и каких-либо других).
Всякие клиенты типа "Mozilla Thunderbird" работают с почтой вообще без проблем, но вот модуль BAS почему-то выдает ошибки.В данный момент я решаю проблему так:
Ставлю получение почты в цикл, в случае ошибки - сон 30 секунд и повтор цикла. Если ошибки нет - идем дальше.
В 9 из 10 случаев данный способ решает проблему - BAS в итоге все-таки получает письмо.
Однако, хотелось бы обойтись без таких дурацких и очень медленных костылей.Не подскажете в чем дело?
-
@Mimino said in InMail - Модуль для работы с входящей почтой:
При попытках "Получить содержимое письма по критериям" как-то слишком часто получаю ошибки такого плана:
[190339380] [16:16:37] Поток №1 : _InMail.imap.search: FAILED_PARSE - Не удалось распарсить результат: "* SEARCH 1493480 * 1139 EXPUNGE * 1137 EXPUNGE * 1135 EXPUNGE * 1134 EXPUNGE * 1132 EXPUNGE" [190339380] [16:16:51] Поток №1 : _InMail.imap.search: FAILED_PARSE - Не удалось распарсить результат: "* SEARCH 1493480 * 1141 EXPUNGE * 1140 EXPUNGE * 1139 EXPUNGE * 1137 EXPUNGE"Почтовый сервер свой (на арендованном VDS). Лимитов подключений к почте нет (как и каких-либо других).
Всякие клиенты типа "Mozilla Thunderbird" работают с почтой вообще без проблем, но вот модуль BAS почему-то выдает ошибки.В данный момент я решаю проблему так:
Ставлю получение почты в цикл, в случае ошибки - сон 30 секунд и повтор цикла. Если ошибки нет - идем дальше.
В 9 из 10 случаев данный способ решает проблему - BAS в итоге все-таки получает письмо.
Однако, хотелось бы обойтись без таких дурацких и очень медленных костылей.Не подскажете в чем дело?
Включите лог отладки
-
InMail
Как остановить отправителя -
@shashou520 said in InMail - Модуль для работы с входящей почтой:
InMail
Как остановить отправителяЧегось?
-
InMail.txt <<< Прикрепил файл с логом ошибок.
Наверное, сразу поясню логику, по которой у меня работают проекты:
Есть некий пул купленных доменов. Их очень много. Их список подтягивается в виде ресурса.
При регистрации на сайтах BAS генерирует случайную строку, затем @ и подставляет один из доменов ресурса.
При этом, вся почта на всех купленных доменах автоматически переадресовывается на единый домен, из которого я потом беру почту - такой себе хаб, в котором собирается вся почта со всех потоков всех запущенных BAS.То есть, к примеру:
При регистрации один из потоков указывает адрес почты "cat@dog.ru"
Письмо с кодом верификации автоматически пересылается c адреса "*@dog.ru" на почту "bas@bas.ru"
Модуль InMail сразу подключается к серверу "bas@bas.ru" и ищет там все письма, получателем которых указан "cat@dog.ru"В большинстве случаев такая логика работает исправно.
Однако чем дольше работает BAS, тем чаще появляются ошибки, лог которых я приложил в файле.P.S.: Основной почтовый сервер (тот самый хаб "bas@bas.ru") не имеет никаких лимитов подключений и т.д.
Все письма приходят в хаб без задержек - я вижу их и в веб-интерфейсе Roundcube, и в клиенте Mozilla Thunderbird, но вот модуль почты их почему-то не видит, а в самом финале, после сотен неудачных запросов, выдает такую ошибку:
[InMail debug] imap ответ: «RECV_ERROR», ошибка: «Failure when receiving data from the peer»
Остальные потоки при этом продолжают работать, как ни в чем не бывало - получают почту, удаляют письма, никаких ошибок. -
@Mimino
у меня похожая проблема.Логика такая, скажем так - кубик - проверка количества писем - если он увидел 0 писем то и послед. проверки покажет 0, пока не перезагрузишь поток. В итоге просто поставил паузу, при которой 100% придет письмо.
-
Подключаюсь по imap к gmail и совсем не получается использовать получение письма с фильтрацией по теме письма и по тексту письма. Если эти два пункта не использовать,то письмо получает нормально,но понятное дело без нормального фильтра. Нашел такую закономерность - поиск работает только если использовать английские буквы и всё. Символы, кириллица и прочее сразу ошибка, при этом в письме это всё точно есть. Расширенный поиск в самом gmail работает нормально и ищет любые символы. Пробовал закодировать в Quoted Printable, как в оригинальном сообщении, пробовал unicode escape - ничего не работает.
Сама ошибка:[InMail debug] imap запрос: «UID SEARCH CHARSET UTF-8 FROM "123@mail.ru" TO "1234@gmail.com" TEXT "код"», url: «imaps://imap.gmail.com/INBOX» [InMail debug] imap ответ: «QUOTE_ERROR», ошибка: «Quote command returned error» Произошла ошибка : _InMail.imap.search: QUOTE_ERROR - Could not parse command -
@GhostZ Проверил и всё равно есть проблема. Письмо находит, но через раз. Допустим если два раза подряд выполнить действие "Получить содержимое одного письма по критериям" или просто рандомно получать письмо, то вылетает эта ошибка.
[InMail debug] imap запрос: «ENABLE UTF8=ACCEPT», url: «imaps://imap.gmail.com» [InMail debug] imap ответ: «QUOTE_ERROR», ошибка: «Quote command returned error» _InMail.imap.search: QUOTE_ERROR - ENABLE not allowed now.


