Ao fazer uma verificação regular dos logs em um Discourse de produção, notei que o trabalho Poll Mailbox estava falhando com o seguinte erro:
Exceção do trabalho: SSL_connect retornou=1 errno=0 estado=erro: verificação de certificado falhou (certificado autoassinado)
Algumas observações relevantes:
- Esta instância é uma instalação padrão do Discourse no Digital Ocean com um certificado LetsEncrypt. Não há nada mais no servidor.
- A importação de e-mail via Pop3 tem funcionado sem problemas há vários meses.
- Não há indícios de problemas no lado do Gmail (ou seja, login suspeito, etc.).
Há um tópico interessante aqui que menciona o mesmo erro, mas parece que ele se refere a uma instalação que realmente possui um certificado autoassinado: Reply by email SSL self signed certificate error.
As configurações do site relevantes eram:
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: // um nome de usuário do Gmail
pop3 polling password: // uma senha do Gmail
pop3 polling delete from server: true
Inicialmente, tentei alternar a opção pop3 polling enabled, mas isso não surtiu efeito (e nenhum erro foi retornado). Também reconstruí o container. Por fim, alterei pop3 polling openssl verify para false e o trabalho Poll Mailbox voltou a funcionar.
Não tenho certeza sobre o que concluir com isso no momento, mas achei melhor relatar por enquanto.
Como observação adicional, se o trabalho Poll Mailbox estiver falhando, seria bom registrá-lo em algum lugar na interface de administração, pois uma falha “silenciosa” ali, juntamente com a falha na importação de mensagens, pode causar alguns problemas.