Olá! Tenho um problema estranho em que configurei isso seguindo o guia, e funciona muito bem! No entanto, algo deu errado com o e-mail de saída, que eu pensei que não seria afetado por nada disso. O Sidekiq apresenta o seguinte erro para cada e-mail tentado (todos presos na lista de Retentativas) desde que ativei o mail-receiver:
Jobs::HandledExceptionWrapper: Wrapped OpenSSL::SSL::SSLError: SSL_read: unexpected eof while reading
Minha pesquisa me leva a acreditar que isso está relacionado ao TLS de alguma forma. Eu descomentei as linhas relacionadas ao TLS no arquivo .yml, mas comentá-las novamente também não resolveu o problema. Tentei as instruções no guia para resolver conflitos do Postfix, mas aparentemente não tenho Postfix? (O diretório /etc/postfix no guia não existe na minha instância, nem ele reconhece o postfix como um serviço.) E de acordo com os resultados do netstat, apenas o docker-proxy está usando a porta 25.
Estamos usando o Gmail como serviço SMTP de saída e, na verdade, estávamos usando o Gmail para a pesquisa POP3 de entrada antes disso. Eu excluí vários registros MX apontando para o Google, mas o guia disse para fazer isso.
Este é o meu mail-receiver.yml, com certos detalhes omitidos, é claro:
## este é o template do container do receptor de e-mail
##
## Após fazer alterações neste arquivo, VOCÊ DEVE reconstruir
## /var/discourse/launcher rebuild mail-receiver
##
## TENHA MUITO CUIDADO AO EDITAR!
## ARQUIVOS YAML SÃO SUPER SUPER SENSÍVEIS A ERROS DE ESPAÇAMENTO OU ALINHAMENTO!
## visite http://www.yamllint.com/ para validar este arquivo conforme necessário
base_image: discourse/mail-receiver:release
update_pups: false
expose:
- "25:25" # SMTP
env:
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
LANGUAGE: en_US.UTF-8
## Para onde o e-mail para o seu fórum deve ser enviado. Em geral, é perfeitamente aceitável
## usar o mesmo domínio do fórum aqui.
MAIL_DOMAIN: discourse.[mydomain].org
# descomente estas (e o volume abaixo!) para suportar TLS
POSTCONF_smtpd_tls_key_file: /letsencrypt/discourse.[mydomain].org/discourse.[mydomain].org.key
POSTCONF_smtpd_tls_cert_file: /letsencrypt/discourse.[mydomain].org/fullchain.cer
POSTCONF_smtpd_tls_security_level: may
## A URL base para esta instância do Discourse.
## Esta será a URL do seu site Discourse. Por exemplo,
## https://discourse.example.com. Se você estiver executando uma configuração de subpasta,
## certifique-se de levá-la em consideração (ou seja, https://example.com/forum).
DISCOURSE_BASE_URL: 'https://discourse.[mydomain].org'
## A chave API principal do seu fórum Discourse. Você pode obtê-la na
## aba \"API\" do seu painel de administração.
DISCOURSE_API_KEY: [myapikey]
## O nome de usuário a ser usado para processar e-mails de entrada. A menos que você tenha
## renomeado o usuário `system`, você deve deixar isso como está.
DISCOURSE_API_USERNAME: system
volumes:
- volume:
host: /var/discourse/shared/mail-receiver/postfix-spool
guest: /var/spool/postfix
# descomente para suportar TLS
- volume:
host: /var/discourse/shared/standalone/letsencrypt
guest: /letsencrypt
A tecnologia de e-mail está um pouco fora da minha especialidade, então agradeço qualquer conselho, mesmo que seja para apontar que perdi algo estúpido ao configurar isso. Obrigado!