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();

  • Подключаюсь по 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
    
  • @get09214, исправил

  • @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.
    
  • @get09214, исправил

  • @GhostZ Благодарю!

  • Привет всем, пытаюсь получить почту с yahoo
    настройки такие
    Screen Shot 2023-04-16 at 20.01.11.png
    на настройки не ругается.
    пытаюсь получить содержимое последнего письма, получаю ошибку

     _InMail.imap.searchLast: LOGIN_DENIED - Login denied
    

    Пробовал создать пароль для приложения, но яху не дает его создать.
    версия модуля из коробки то есть 1.2

  • Может возможно прикрутить эту библиотеку к авторизации по методу OAuth2 https://senders.yahooinc.com/developer/documentation/#basic-requirements

    https://www.passportjs.org/

    так как в thunderbird - авторизуется по этому методу. И этот метод работает не только с yahoo но и с gmail например.

    или вот есть еще такая библиотека

    https://github.com/sahat/satellizer

    ну или как нибудь еще, типо этой https://www.npmjs.com/package/xoauth2

    для yahoo
    https://www.passportjs.org/packages/passport-yahoo/

    для google
    https://www.passportjs.org/packages/passport-google-oauth2/

    для outlook
    https://www.passportjs.org/packages/passport-outlook2/

    другие
    https://www.passportjs.org/packages/

  • @Fox

    Мне нужна эта функция.
    Как можно достичь этой функции
    спасиб

  • @shashou520 said in InMail - Модуль для работы с входящей почтой:

    @Fox

    Мне нужна эта функция.
    Как можно достичь этой функции
    спасиб

    Можете начать с нормального описания вопроса

  • Кто нибудь использовал почтовый сервис manulmail.com? Вроде заявлена поддержки имап, но подключиться не получается. Сервер mail.manulmail.com, шифрование и порт не указано. При любых настройках получаю _InMail.imap.searchLast: LOGIN_DENIED - Login denied .

  • Что может быть? Почта рамблер
    _InMail.imap.searchLast: RECV_ERROR - Failure when receiving data from the peer
    Без имени.jpg