При обычной проверке логов на продакшн-инстанции Discourse я обнаружил, что задача Poll Mailbox завершается ошибкой:
Job exception: SSL_connect returned=1 errno=0 state=error: certificate verify failed (self signed certificate)
Несколько важных замечаний:
- Эта инстанция представляет собой стандартную установку Discourse на Digital Ocean с сертификатом LetsEncrypt. На сервере ничего лишнего нет.
- Импорт электронной почты через POP3 работал без каких-либо проблем в течение нескольких месяцев.
- С стороны Gmail никаких признаков проблем нет (например, подозрительных входов в аккаунт и т.п.).
Существует интересная тема, где упоминается та же ошибка, но, судя по всему, она касается установки, где действительно используется самоподписанный сертификат: Reply by email SSL self signed certificate error.
Соответствующие настройки сайта были следующими:
pop3 polling enabled: true
pop3 polling ssl: true
pop3 polling openssl verify: true
pop3 polling period mins: 5
pop3 polling host: pop.gmail.com
pop3 polling port: 995
pop3 polling username: // имя пользователя Gmail
pop3 polling password: // пароль Gmail
pop3 polling delete from server: true
Сначала я попробовал переключить настройку pop3 polling enabled, но это не дало результата (и ошибок не возникло). Также я пересобрал контейнер. Наконец, я изменил значение pop3 polling openssl verify на false, и задача Poll Mailbox снова начала работать.
Пока не совсем понятно, что именно произошло, но решил сообщить об этом.
Как дополнительное замечание: если задача Poll Mailbox завершается ошибкой, было бы полезно фиксировать это в интерфейсе администратора, так как «тихая» неудача и невозможность импорта сообщений могут привести к определённым проблемам.