GoDaddy:exim4 接收电子邮件但因“无路由到主机”错误而无法发送

GoDaddy:exim4 接收电子邮件但因“无路由到主机”错误而无法发送

在由 GoDaddy 托管的 Ubuntu 16.04 VPS 上,我希望能够使用我的域名发送电子邮件。

我通过 Vestacp 创建了一个邮件用户[email protected],安装了 Roundcube 并检查我是否可以从我的一个个人地址接收电子邮件(尝试使用 gmail 和 hotmail)。

然而,当我想要回复时,exim4 发送失败,并给出“没有到主机的路由”错误。

# cat /var/log/exim4/mainlog
exim 4.86_2 daemon started: pid=2310, -q30m, listening for SMTP on port 25 (IPv4) port 587 (IPv4) port 2525 (IPv4) and for SMTPS on port 465 (IPv4)
Start queue run: pid=2311
1iDCy2-00021u-SM H=gmail-smtp-in.l.google.com [172.217.197.27] No route to host
1iDD5o-0000bk-Gt <= [email protected] U=admin P=local S=795 [email protected]
1iDCy2-00021u-SM H=alt1.gmail-smtp-in.l.google.com [64.233.186.27] No route to host
1iDCy2-00021u-SM H=alt2.gmail-smtp-in.l.google.com [74.125.193.27] No route to host
[...]
1iDCy2-00021u-SM == [email protected] R=dnslookup T=remote_smtp defer (110): Connection timed out
1iDCzB-0002B3-PK ** [email protected]: Unrouteable address
1iDCzB-0002B3-PK Frozen (delivery error message)
1iDD8s-0000gq-H3 <= <> R=1iDD8s-0000go-GN U=Debian-exim P=local S=1211

我尝试对其中一个 IP 运行 tracepath,我发现它默认使用 GoDaddy 内部网络的接口,而不是具有 Internet IP 的接口:

# tracepath 172.217.218.27
 1?: [LOCALHOST]                                         pmtu 1500
 1:  10.217.15.252                                         0.262ms
[...]
 8:  ash-b1-link.telia.net                                54.953ms asymm 12
 9:  no reply
10:  no reply

因此我尝试添加接口指令/etc/exim4/conf.d/transport/30_exim4-config_remote_smtp,并重新启动 VPS。

remote_smtp:
  debug_print = "T: remote_smtp for $local_part@$domain"
  driver = smtp
  interface = 148.72.xx.xx

但我仍然遇到相同的错误。我现在不知道该去哪里查找。

答案1

问题并不在我预期的地方,只是提供商 GoDaddy 要求我使用他们的中继服务器。我了解到,通过测试端口 25$ telnet portquiz.net 25,令我大吃一惊的是,尽管没有任何连接,或者防火墙阻止它,但它无法连接。

修复:

这将使您的邮件通过 GoDaddy 的邮件服务器,但据我所知这是最简单的解决方案。我编辑了配置模板文件/etc/exim4/exim4.conf.template,并更新了以下部分:

######################################################################
#                      ROUTERS CONFIGURATION                         #
#               Specifies how addresses are handled                  #
######################################################################
begin routers

smarthost:
  driver = manualroute
  transport = remote_smtp
  route_list = !+local_domains dedrelay.secureserver.net

然后我就跑了# dpkg-reconfigure exim4-config再次(我不确定我当时输入的配置是否是唯一有效的配置,但对我来说有效)

- Internet site;
- System mail name: xxx.secureserver.net (find yours in GoDaddy's My Hosting > Server > YourVPS > Settings tab > Hostname)
- 127.0.0.1 ; ::1
- mydomain.com
- Domain to relay: empty
- Machines to relay: empty
- DNS dial on demand: no
- mbox
- Split config: no

当然,您可能已经在互联网上看到过一千次了,您可以使用以下方法测试配置:

echo "hello" | mail -s "Title" [email protected]

然而,电子邮件可能需要大约 5 分钟才能送达。要了解电子邮件是否得到正确处理,更快的方法是检查 GoDaddy 网站上服务器仪表板中的“SMTP 中继”计数器是否正在增加。

答案2

在 GoDaddy、cPanel VPS GEN4 CentOS 7 上我这样解决:

在此处输入图片描述

smart_route:
driver = manualroute
domains = ! +local_domains
ignore_target_hosts = 127.0.0.0/8
transport = remote_smtp
route_list = * godaddy-server-relay.com::25
no_more

相关内容