![Postfix:无法接收外部电子邮件](https://linux22.com/image/607778/Postfix%EF%BC%9A%E6%97%A0%E6%B3%95%E6%8E%A5%E6%94%B6%E5%A4%96%E9%83%A8%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6.png)
我是 Postfix 新手。发送电子邮件很方便,但无法接收外部电子邮件。我只有一台服务器,所以我的域名等于邮件服务器名称。据我所知,我不需要为此配置一个 MX,但我这样做只是为了确保万无一失(使用域名)。它在 dig 的答案部分显示正常。
通过互联网从外部机器进行 Telnet 操作很顺利,而且直接从 Telnet 发送一封电子邮件也非常顺利。但是,当尝试从 gmail 或 yahoo 发送一封电子邮件时,什么也没有发生 - 甚至在 mail.log 中也没有显示任何条目。
我想知道端口 25 是否足以接收来自外部服务器的电子邮件?我的问题是什么?
编辑:postconf-n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
inet_interfaces = all
inet_protocols = all
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
mydestination = buscandoaventuras.com.br, localhost.com.br, localhost
myhostname = buscandoaventuras.com.br
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost =
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes
编辑:输出:主机名; cat /etc/mailname ; cat /etc/hosts
buscandoaventuras
buscandoaventuras.com.br
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
127.0.0.1 localhost.localdomain localhost
# Auto-generated hostname. Please do not remove this comment.
78.129.135.49 buscandoaventuras.com.br buscandoaventuras
::1 localhost ip6-localhost ip6-loopback
答案1
您的 MX 指向一个不存在的域busandoaventuras.com.br
,您输入错误并跳过了一个 c。并且您的 IP 地址未反向解析到您的 MX,这可能会导致您的反垃圾邮件配置出现一些问题。
$ host buscandoaventuras.com.br
buscandoaventuras.com.br has address 78.129.135.49
buscandoaventuras.com.br mail is handled by 1 busandoaventuras.com.br.
$ host -t mx buscandoaventuras.com.br
buscandoaventuras.com.br mail is handled by 1 busandoaventuras.com.br.
$ host busandoaventuras.com.br
Host busandoaventuras.com.br not found: 3(NXDOMAIN)
$ host 78.129.135.49
Host 49.135.129.78.in-addr.arpa. not found: 3(NXDOMAIN)
更新:
那么让我们对你的机器进行一些更改。首先,你需要为其设置一个合适的主机名。选择一个你喜欢的主机名,然后boaviagem
更改文件/etc/mailname
,/etc/hostname
并/etc/hosts
反映它:
# echo boaviagem > /etc/hostname
# sed -i 's/^/boaviagem./g' /etc/mailname
# sed -i 's/busca/boaviagem.busca/g' /etc/hosts
重新启动您的机器,只是为了这个目的。然后让我们转到 DNS 和 Postfix。在 DNS 中创建指向您机器 IP 地址的A
记录。boaviagem
boaviagem IN A 1.1.1.1
并更改您的 MX 以便将您的机器放入其中。
@ IN MX 10 boaviagem.buscandoaventuras.com.br
更改序列号并重新加载 DNS。现在,进入 postfix,更改my_hostname
为/etc/mailname
。重新启动 postfix 并等待 DNS 刷新传播。再试一次,看看是否能解决问题。