Configurei em meu app.yml o e-mail para ser algo como
DISCOURSE_SMTP_ADDRESS: mail.mysecrect.tld
DISCOURSE_SMTP_PORT: 465
DISCOURSE_SMTP_USER_NAME: minegenix@mysecret.tld
DISCOURSE_SMTP_PASSWORD: <secret>
Configurei em meu app.yml o e-mail para ser algo como
DISCOURSE_SMTP_ADDRESS: mail.mysecrect.tld
DISCOURSE_SMTP_PORT: 465
DISCOURSE_SMTP_USER_NAME: minegenix@mysecret.tld
DISCOURSE_SMTP_PASSWORD: <secret>
Também encontrei isto nos logs:
falha
E-mail entregue 3ff63fed-4142-4042-ab33-29493b32b3a6@beta2.mysecret.tld (30001.9ms)
Exceção do trabalho: execução expirou
talvez você precise adicionar isto ao seu app.yml
DISCOURSE_SMTP_ENABLE_START_TLS: false
Ok, aliás, eu uso o Mailcow!
O servidor está executando discourse beta2.mysecret.tld - e não mysecret.tld?
Tente estas opções:
DISCOURSE_SMTP_ADDRESS: 172.17.0.1 # use o ip interno aqui - o domínio do servidor de e-mail pode não ser resolvido corretamente
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: "SEU-NOME-DE-USUÁRIO-SMTP"
DISCOURSE_SMTP_PASSWORD: "SUA-SENHA-SMTP"
#DISCOURSE_SMTP_ENABLE_START_TLS: true # (opcional, padrão true)
DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none
DISCOURSE_SMTP_DOMAIN: mysecret.tld
mysecret.tld é apenas um placeholder escondendo o endereço do meu fórum real, pois não quero revelá-lo ![]()
Você está enviando e-mails com um e-mail de remetente como “…\@ beta2. mysecret.tld” - mas sua conta mailcow é para “…\@mysecret.tld”?
Não, estou enviando e-mails de …@mysecret.tld e o site está em execução em beta2.mysecret.tld
@Sprisa adicione a configuração que postei e reconstrua.
Veja se isso ajuda.
@rrit você está perdendo o ponto ![]()
sim, estou fazendo isso no momento
aliás, preciso fazer bootstrap toda vez após a reconstrução?
Ok, adicionei as configurações, não ajudou.
./launcher enter app
getent hosts:( dig, nslookup, ping etc. não estão instalados dentro do contêiner.)
getent hosts seu.servidor.smtp
Resultado em caso de sucesso:
# IPv4
123.123.123.123 seu.servidor.smtp
# IPv6
2001:db8:0:0:0:ff00:42:8329 seu.servidor.smtp
openssl:( telnet, nc etc. não estão instalados dentro do contêiner.)
Experimente algumas configurações diferentes até conseguir estabelecer uma conexão.
openssl s_client -connect seu.servidor.smtp:465
openssl s_client -connect seu.servidor.smtp:587 -starttls smtp
# IPv4
openssl s_client -connect 172.17.0.123:465
openssl s_client -connect 172.17.0.123:587 -starttls smtp
# IPv6
openssl s_client -6 -connect "[2001:db8:0:0:0:ff00:42:8329]:465"
openssl s_client -6 -connect "[2001:db8:0:0:0:ff00:42:8329]:587" -starttls smtp
Veja: Como verificar a conexão SMTP –> Passo 3: Verificando a Conexão SMTP Sobre TLS Usando Openssl
![]()
( ifconfig , ip etc. não estão instalados dentro do contêiner.)
hostname -I
Resultado como:
172.17.0.2
Não consigo me conectar com o openssl, também só recebo isso: do getent
2606:4700:3032::ac43:d2f1 mail.secret.tdl
2606:4700:3033::6815:4db8 mail.secret.tld
(secret.tld substituindo meu domínio real)
Um tiro no escuro: Este é um IP público? O seu mailcow está configurado para escutar conexões smtp neste IP público ou apenas em uma rede interna?
Dentro do contêiner Discourse, você pode obter o IP dos seus contêineres via:
hostname -I
O seu mailcow também está na mesma rede interna (docker)?
172.17.0.2 é o que eu recebo de hostname -I
Você consegue acessar seu contêiner do Mailcow e também obter hostname -I? Mailcow e Discourse são dois contêineres Docker separados no mesmo host?
como entro no contêiner do mailcow? não há script de inicialização.
Eu também não sei sobre o mailcow. Talvez seja melhor verificar com a comunidade do mailcow: https://community.mailcow.email/
O que devo usar para obter sistemas de e-mail, ou qual software posso configurar no Ubuntu que funcionaria como serviço de e-mail nos meus fóruns?