Eu quero configurar o localhost para enviar e-mails via servidor postfix, faço isso para testar minha solução de configuração do Docker com Wordpress (com solução encontrada no e-mail da internet não estava funcionando, também curl, mas isso foi por causa de certificados SSL corporativos da CA). Agora estou testando isso no Fedora e tento enviar para minhas duas contas nos domínios onet.pl e jcubic.pl, ambos rejeitaram meus e-mails.
Aqui estão os logs do postfix:
Apr 4 13:24:14 23c96150d42f postfix/smtp[134]: BCAA01659A0: to=<[email protected]>, relay=mail.jcubic.pl[185.255.40.21]:25, delay=0.25, delays=0/0/0.07/0.17, dsn=5.7.1, status=bounced (host mail.jcubic.pl[185.255.40.21] said: 550 5.7.1 <[email protected]>: Recipient address rejected: Please see http://www.openspf.net/Why?s=helo;id=jcubic.pl;ip=185.129.113.210;r=unknown (in reply to RCPT TO command))
Apr 4 13:24:14 23c96150d42f postfix/qmgr[95]: BCAA01659A0: removed
Apr 4 13:25:41 23c96150d42f postfix/smtp[134]: 2D02E1659A0: to=<[email protected]>, relay=mx.poczta.onet.pl[213.180.147.146]:25, delay=0.85, delays=0/0/0.85/0, dsn=4.7.1, status=deferred (host mx.poczta.onet.pl[213.180.147.146] refused to talk to me: 220-mx.poczta.onet.pl ESMTP 450 4.7.1 Client host rejected: cannot find your reverse hostname, [185.129.113.210])
Primeiro é a proteção SPF, posso ignorar isso e lidar apenas com onet.pl que mostra erro sobre o nome do host reverso, li que preciso ter registros DNS adequados em jcubic.pl. Eu posso configurar o DNS no jcubic.pl, isso apenas por enquanto para ver se o email funciona, mas não sei como e vários registros DNS A. Também não sei exatamente como posso fazer isso (como o registro deve ser).
Eu estava testando meu combo docker-wordpress no trabalho com o Ubuntu no OpenStack e consegui enviar e-mail para a conta corporativa do Gmail.
Estou usando esta configuração, tenho instância postfix como serviço de composição do docker com esta configuração:
postfix:
image: catatnight/postfix
environment:
maildomain: example.com # at work here was valid domain of my company (gene.com)
smtp_user: postfix:postfixpass
ports:
- "25:25"
restart: always
a porta 25 provavelmente não será pública é apenas para teste, não tinha certeza se esse era o problema de não enviar e-mails:
e meu comando wordpress image use msmtp
para enviar emails, estou testando agora isso:
echo "Hello this is sending email using msmtp" | msmtp <name>@onet.pl
echo "Hello this is sending email using msmtp" | msmtp <name>@jcubic.pl
Minha configuração msmtp está assim:
# Set defaults.
defaults
# Enable or disable TLS/SSL encryption.
tls off
tls_starttls off
# Setup WP account's settings.
account postfix
host postfix
port 25
auth login
user [email protected]
password postfixpass
from [email protected]
logfile /var/log/msmtp/msmtp.log
account default: postfix
Estou testando user
nad diferente from
, posso apenas configurar o DNS no jcubic.pl para verificar se meu IP local (que é dinâmico) é válido por enquanto, para que eu possa testar se o envio de email funciona? Meu domínio jcubic.pl está em hospedagem compartilhada, mas posso adicionar registros DNS. É possível também corrigir o problema de SPF. Como isso funcionará no servidor normal. No trabalho eu uso o domínio da minha empresa, mas era o endereço IP da intranet (instância do OpenStack privado), não sei por que o gmail pensou que o remetente era válido.
Também tenho outra dúvida se o servidor de email postfix precisa ser público e acessar no IP que enviou o email? era assim que funcionava no trabalho (havia uma porta pública do container postfix do docker), mas aqui eu tenho localhost e também roteador NAT, meu IP público é diferente e o servidor de email não é acessado pela internet. Não tenho certeza de quais registros DNS minha empresa possui.
Enviar e-mail diretamente de um IP dinâmico pode ser problemático. Você provavelmente deve estar usando os servidores SMTP do seu provedor de serviços de Internet ou através do seu próprio servidor de e-mail usando o envio . Sem mencionar que o endereço IP está atualmente em várias listas negras baseadas em DNS (DNSBL).
Não
185.129.113.210
é permitido enviar e-mailjcubic.pl
porVocê teria que adicionar
+ip4:185.129.113.210
possivelmente inteiro+íp4:185.129.112.0/22
devido ao endereço IP dinâmico. Isso não é sábio, se permitiria que todos os dispositivos noPL-UNINET-OWN-INFRASTRUCTURE
bloco de rede enviassem e-mails comojcubic.pl
. Usar SMTP autenticado na porta de envio é uma solução para isso. O Postfix local pode enviar todas as mensagens não locais através do servidor de correio existente como um arquivorelayhost
.Isso é algo que você não pode simplesmente corrigir modificando sua zona de encaminhamento para
jcubic.pl
, pois se trata do registro reversoPTR
ausente para o endereço IP185.129.113.210
. Somente o proprietário do bloco de IP pode alterar esses registros.dig -x 185.129.113.210
retornaNXDOMAIN
para210.113.129.185.in-addr.arpa. IN PTR
, portanto, atualmente não há nenhum registro reverso.Muitos servidores SMTP de recebimento exigem que haja registros de encaminhamento e reverso correspondentes e que eles correspondam ao banner SMTP (como o servidor se apresenta nos
HELO
comandos) também.