Я запускаю postfix на Raspberry Pi за домашним маршрутизатором с настроенным динамическим DNS. Postfix может отправлять электронную почту просто отлично, но, похоже, не получает.
Я думаю, что домашний маршрутизатор и динамический DNS в порядке, я размещаю веб-сайт на Raspberry Pi, он отлично работает и общедоступен. Так что либо моя запись MX не настроена должным образом, либо постфикс не (я думаю).
(Я отредактировал свое имя хоста ниже).
Конфигурация динамического DNS для myhostname.ddns.net
- IPv4-адрес: IP-адрес моего Raspberry Pi
- Запись MX: myhostname.ddns.net, Приоритет 1
Настройка перенаправления портов на домашнем маршрутизаторе
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
на 3-м компьютере не Raspberry Pi
ping myhostname.ddns.net
: работает, я вижу, что IP-адрес моего Raspberry Pi отвечает.- указывая браузер на
http://myhostname.ddns.net
: работает, я вижу корень сайта. Это подтверждает, что динамический DNS работает и переадресация домашнего маршрутизатора работает. - в учетной записи gmail отправка почты по
pi@myhostname.ddns.net
завершается неудачно примерно через 24 часа с сообщением «доставка не завершена, сервер-получатель не принял наши запросы на подключение. время ожидания». Если вы знаете более быстрый способ тестирования, который не требует ожидания 24 часа, пожалуйста, дайте мне знать.
на Raspberry 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
Обновить
Comcast блокирует порт 25, см. Https://www.xfinity.com/support/articles/email-port-25-no-longer-supported.