o postfix envia, mas não recebe e-mail

1

Estou executando o postfix em um Raspberry Pi atrás de um roteador doméstico com DNS dinâmico configurado. postfix pode enviar e-mail muito bem, mas parece não receber.

Acho que o roteador doméstico e o DNS dinâmico estão bem, estou hospedando um site no Raspberry Pi, funciona bem e é acessível publicamente. Então, meu registro MX não está configurado corretamente ou o postfix não é (eu acho).

(eu redigi meu nome de host abaixo).

DNS dinâmico da configuração para myhostname.ddns.net

  • endereço IPv4: o endereço IP do meu Raspberry Pi
  • Registro MX: myhostname.ddns.net, Prioridade 1

Configuração de encaminhamento de porta no roteador doméstico

D   Service Port    Internal Port   IP Address  Protocol
1   80      80      192.168.0.10    ALL     # web server
2   22      22      192.168.0.10    ALL     # ssh
3   25      25      192.168.0.10    TCP     # mail server

em um terceiro computador, não o Raspberry Pi

  • ping myhostname.ddns.net : funciona, vejo o endereço IP do meu Raspberry Pi respondendo.
  • apontando um navegador para http://myhostname.ddns.net : funciona, vejo a raiz do site. Isso confirma que o DNS dinâmico está funcionando e o encaminhamento do roteador doméstico está funcionando.
  • em uma conta do Gmail, o envio de e-mails para [email protected] falha após cerca de 24 horas com "entrega incompleta, o servidor do destinatário não aceitou nossos pedidos para conectar-se. O tempo limite esgotou". Se você conhece uma maneira mais rápida de testar que não requer espera 24 horas, por favor me avise.

no Raspberry Pi, logado como "pi"

$ mail
No mail for pi

$ dig myhostname.ddns.net MX +short
1 myhostname.ddns.net

$ sudo postfix status
postfix/postfix-script: the Postfix mail system is running: PID: 16232

$ sudo netstat -plutn | grep 25
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      16232/master

$ sudo iptables -L -n -v
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination

$ cat /etc/postfix/main.cf
smtpd_banner = $myhostname ESMTP $mail_name (Raspbian)
biff = no
append_dot_mydomain = no
readme_directory = no
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_recipient_restrictions =
    permit_sasl_authenticated,
    permit_mynetworks,
    reject_unauth_destination
smtpd_relay_restrictions =
    permit_mynetworks,
    permit_sasl_authenticated,
    defer_unauth_destination
myhostname = myhostname.ddns.net
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = myhostname.ddns.net, myhostname, localhost.localdomain, 
localhost
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = ipv4
home_mailbox = Maildir/
mailbox_command =
relayhost = [smtp.gmail.com]:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_use_tls = yes

$ cat /etc/mailname
myhostname.ddns.net

Atualizar

A Comcast bloqueia a porta 25, consulte link

    
por mipnw 03.05.2018 / 07:41

2 respostas

1

Há poucas coisas aqui que você precisa verificar.

  1. Acho que o Google não pode enviar um e-mail para você porque você não tem registro MX. Mas vamos fingir que não é um problema por um momento e vamos nos preocupar em filmar outros problemas. (Não, o DDNS não lhe dará MX por muitas boas razões)

  2. Certifique-se de ter permissão para se conectar à sua porta 25 da Internet. Eu acho que você não será capaz de testar, mas faça o seguinte:

    nc -vv myhostname.ddns.net 25

ou

telnet myhostname.ddns.net 25

Isso deve mostrar se você tem permissão para se conectar à porta 25 - lembre-se, alguns ISPs podem bloquear conexões de entrada para a porta 25. Claro que você precisa checar seu firewall interno em seu pi (qual distribuição Linux você roda?)

  1. Assim que estiver conectado ao seu servidor, você poderá enviar um e-mail usando o telnet / nc.

    EHLO myhostname.ddns.net

(você deve obter algumas linhas começando com 250)

mail from: [email protected]
rcpt to: email@to_send_it_to.com
subject: Test email

e, em seguida, comece a digitar tyour email. Terminar com um único "." na última linha, assim:

Test email from my server.
.

Então você verá que o email foi enviado ou pelo menos aceito. Não precisa esperar 24h:)

  1. Eu realmente duvido que você será capaz de usar seu servidor de e-mail Pi para qualquer coisa, mas poucos testes. Para começar, você não tem registros MX e nenhum controle sobre DKIM, PTR e SPF ... Em outras palavras, não estará pronto para produção, nem as pessoas aceitariam emails do seu servidor. E o fato de você estar em IP dinâmico significa que seu IP está bloqueado por 99% de filtros de spam. sim, só porque não é estático.
por 03.05.2018 / 16:27
0

Como a Comcast diz em Portas bloqueadas na rede da Comcast você poderia usar a porta 587.

Editar: ComCast também declarou - > Se você estiver executando um servidor de e-mail, entre em contato com a Garantia de Segurança do Cliente da Comcast pelo número 1-877-807-6580 para obter mais informações sobre este bloco.

Veja: Como configurar a criptografia TLS no Postfix

    
por 04.05.2018 / 09:06