我已经设置了 G Suite 帐户并启用了 SMTP 中继服务。中继服务当前配置为只接受来自我的网络服务器 IP 地址的邮件,不需要 SMTP 身份验证或 TLS 加密。此链接告诉我应该能够将邮件发送到端口 25(或 465/587)上的 smtp-relay.gmail.com。这一切都很好。我有一个非常简单的 go 脚本可以在这里发送电子邮件。package mainimport ( "log" "net/smtp" "os")func main() { args := os.Args[1:] to := args[0] body := args[1] from := "[my g-suite user account name]" msg := "From: " + from + "\n" + "To: " + to + "\n" + "Subject: Hello Friend\n\n" + body err := smtp.SendMail("smtp-relay.gmail.com:25",nil, from, []string{to}, []byte(msg)) if err != nil { log.Printf("smtp err :%s\n",err) } else { log.Printf("Email sent\n") } log.Printf("email sent\n")}当我运行它时,我得到以下恐慌2018/11/29 12:24:22 smtp err :dial tcp 74.125.195.28:25: connect: no route to host我明白这个错误告诉我的是什么,但我终生无法解决它。我认为这是我的防火墙设置的问题。我试过刷新我的 iptables 并禁用 ufw 但我每次都得到相同的结果。我还尝试使用 mutt 和 sendmail(具有类似设置)从该网络服务器发送邮件。关于我应该寻找什么的任何建议?我做了很多搜索并尝试了其他几个脚本,但总是得到相同的结果。编辑在尝试了几个不同的选项后,例如使用现有帐户的常规 gmail,使用 sendmail 或 ssmtp 我在尝试发送邮件时查看了 tcpdump。Wireshark 显示与邮件服务器的通信为“通信管理过滤”。我的意思是托管服务提供商正在过滤端口 25,465 和 587,因为我已经尝试了所有端口并且禁用了我的规则。
- 1 回答
- 0 关注
- 88 浏览
添加回答
举报
0/150
提交
取消