@ivprokofyev

Почему на сервере не срабатывает чтение INBOX по IMAP4_SSL?

Пытаюсь читать входящие сообщения в ящике для собственного домена на yandex по IMAP4_SSL. При запуске на сервере под Linux возвращает пустое значение - OK [], однако, если запускать с рабочего ноута на Mac OS работает корректно - OK [b'521 522'].

Сам скрипт:
from imaplib import IMAP4_SSL

def get_mail():
    connection = IMAP4_SSL(host=HOST, port=PORT)
    connection.login(user=LOGIN, password=PWD)
    status, msgs = connection.select()
    assert status == 'OK'
    typ, edata = connection.uid('SEARCH', None, '(FROM "{}")'.format(SENDER))
    print(edata)


Не нашел ответа в интернетах. Помогите разобраться.
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
@ivprokofyev Автор вопроса
Проблема решена.

Команда SEARCH не всегда работает корректно с (FROM "no_reply@example.com"). Помогло разделение элементов запроса:
typ, edata = connection.uid('SEARCH', None, 'FROM',  'no_reply')


Причем полный адрес no_reply@example.com также не ищет входящие письма.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы