InMail - Модуль для работы с входящей почтой

Делитесь модулями
  • @Fox Зря ты так, щас много народа идет от них к нам, потому как там стагнация так сказать, надо быть гибче :)

  • @GhostZ Привет! Подскажи, пожалуйста, использую модуль: Почта > Получить содержимое последнего письма, ситуация: не находится (undefined) содержимое многие переменных. Переменная MAIL_TEXT_HTML отображается как "", когда в действительности в письме есть текст. Как решить данную проблему?

    01e18ff6-7cc1-4cb1-a39a-3d849a51bb43-image.png

    PS: до этого вообще, все переменные (undefined) были не найдены, пока не зашёл ручками в почтовый клиент Timeweb.

  • @woobid ты бы хоть настройки этого действия показал.

  • @Bigma я правильно понял, данный модуль и есть стандартный предустановленный модуль в BAS? Он у меня работает раз через 15, по какому-то рандому, т.е. иногда даже не конектится с почтой.

    Вот настройки:
    a312b67b-02c1-4d66-8fbc-c334a8a09b9e-image.png

    9d2033bb-9779-45aa-ae24-83553cf1fd01-image.png

  • А как коннектиться к оутлук почтам? Если не поддерживается TLS
    03b1e15e-c68f-4e52-88d6-f2a00dbd61bc-image.png

  • В некоторых кубиках неплохо было бы добавить изменение пользователем названия переменной. Например в кубике "Получить содержание последнего письма" нет такой возможности.

  • @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
    Как остановить отправителя

    Чегось?

  • @Mimino, какая версия модуля? Подобные ошибки были исправлены в версии 1.1

  • @GhostZ Прошу прощения за свою невнимательность.
    Я почему-то думал, что модуль обновляется вместе с BAS.
    Не знаю почему))

    Только что обновил модуль. Результат протестирую позже.
    Спасибо.

  • @Mimino, в 25.5.0 версии BAS последняя версия модуля 1.2

  • @GhostZ хмммм.... у меня не обновился.
    А как можно вручную скачать версию 1.2? В шапке его нет.

    P.S.: уже вижу, что моя проблема не исчезла полностью. Позже включу логирование и скину сюда.

  • @Mimino, залил версию 1.2

  • 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, Failure when receiving data from the peer - это сетевая ошибка которую модуль получает от CURL, что-то блокирует запрос, провайдер, прокси или файервол/антивирус

  • @Mimino
    у меня похожая проблема.

    Логика такая, скажем так - кубик - проверка количества писем - если он увидел 0 писем то и послед. проверки покажет 0, пока не перезагрузишь поток. В итоге просто поставил паузу, при которой 100% придет письмо.

  • @dean999, использует ожидание письма, там переподключение происходит раз в 4 попытки найти письмо, или сбрасывайте соединение самостоятельно выполнив код: _InMail.getApi().reset();