我正在尝试通过 Postfix 服务器发送电子邮件。在命令行中,如果我输入:
echo "This is the body of the email" | mail -s "subject line" [email protected]`
然后我在 log/mail.info 中看到的错误是:
postfix/smtp[23093]: connect to mail.mydomain.com[my.ip.add.here]: Connection refused (port 25)
如果我输入 netstat -an |more,我会看到:
...
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
...
不0.0.0.0:25
,那会有什么区别吗?
编辑
如果我运行netstat -plntu
,那么我会看到3587/master
127.0.0.1:25 的 pid/程序名称。我没有看到 pid/程序名称的后缀列表。可能是邮件服务器没有运行。我被告知它正在运行。
...
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 3587/master
...
编辑
输入以下命令确认 Postfix 正在运行postfix start
编辑
如果有帮助的话,请在服务器上尝试一下:
telnet mail.mydomain.com 25
Trying 202.192.77.135...
telnet: connect to address 202.192.77.135: Connection refused
我知道这个问题已经解决了很多次了,但我是一名普通的 Web 开发人员,可能需要更多指导。谢谢。
答案1
邮件日志显示您可以连接到您的 postfix 服务器(在 localhost 上)。postfix 无法连接到外部 smtp 服务器(mail.mydomain.com),您也无法使用 telnet 进行连接。
也许您的 ISP 上有一个防火墙,阻止了外发 smtp。这通常用于阻止垃圾邮件。解决方法是,您可以使用其他邮件服务器(gmail?)来转发您的电子邮件,并通过安全 smtp(端口 465/587)和身份验证连接到它。
这是一个很好的方法:https://www.howtoforge.com/tutorial/configure-postfix-to-use-gmail-as-a-mail-relay/