Estoy ejecutando postfix en una Raspberry Pi detrás de un enrutador doméstico con DNS dinámico configurado. postfix puede enviar correos electrónicos bien, pero no parece recibirlos.
Creo que el enrutador doméstico y el DNS dinámico están bien, estoy alojando un sitio web en Raspberry Pi, funciona bien y es de acceso público. Entonces, mi registro MX no está configurado correctamente o postfix no lo está (creo).
(He redactado mi nombre de host a continuación).
Configuración de DNS dinámico para myhostname.ddns.net
- Dirección IPv4: la dirección IP de mi Raspberry Pi
- Registro MX: myhostname.ddns.net, Prioridad 1
Configuración de reenvío de puertos en el enrutador 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
en una tercera computadora, no en la Raspberry Pi
ping myhostname.ddns.net
: funciona, veo que la dirección IP de mi Raspberry Pi responde.- señalando un navegador a
http://myhostname.ddns.net
: funciona, veo la raíz del sitio web. Esto confirma que el DNS dinámico está funcionando y que el reenvío del enrutador doméstico está funcionando. - en una cuenta de gmail, el envío de correo
[email protected]
falla después de aproximadamente 24 horas con "entrega incompleta, el servidor del destinatario no aceptó nuestras solicitudes de conexión. Tiempo de espera agotado". Si conoce una forma más rápida de realizar una prueba que no requiera esperar 24 horas, hágamelo saber.
en Raspberry Pi, conectado 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
Actualizar
Comcast bloquea el puerto 25, consulte https://www.xfinity.com/support/articles/email-port-25-no-longer-supported
linux
networking
email
postfix
mipnw
fuente
fuente
Respuestas:
Aquí hay algunas cosas que debe verificar.
Supongo que Google no puede enviarte un correo electrónico porque no tienes registro MX. Pero imaginemos que no es un problema por un momento y solucionemos problemas para resolver otros problemas. (No, DDNS no le dará MX por muchas buenas razones)
asegúrese de poder conectarse a su puerto 25 desde Internet. Supongo que no podrás hacerlo, pero para probarlo, haz lo siguiente:
nc -vv myhostname.ddns.net 25
o
Eso debería mostrarse si se le permite conectarse al puerto 25; tenga en cuenta que algunos ISP pueden bloquear las conexiones entrantes al puerto 25. Por supuesto, debe verificar su firewall interno en su pi (¿qué distribución de Linux ejecuta?)
Tan pronto como esté conectado a su servidor, podrá enviar un correo electrónico utilizando telnet / nc.
EHLO myhostname.ddns.net
(debería obtener algunas líneas que comienzan con 250)
y luego comienza a escribir tu correo electrónico. Termina con un solo "." en la última línea, así:
Entonces debería ver que el correo electrónico fue enviado o al menos aceptado. No es necesario esperar 24h :)
fuente
dig myhostname.ddns.net MX +short
vuelve,1 myhostname.ddns.net
que es lo que espero.Como dice Comcast en Puertos bloqueados en la red de Comcast, podría usar el puerto 587.
Editar: ComCast también declaró:> Si está ejecutando un servidor de correo, comuníquese con la Garantía de seguridad del cliente de Comcast al 1-877-807-6580 para obtener más información sobre este bloque.
Consulte: Cómo configurar el cifrado TLS en Postfix
fuente