由于我的 ISP 阻止了端口 25,我希望能够配置 postfix 以通过端口 587 发送 smtp 电子邮件。每次我尝试发送电子邮件时,我都会在 mail.log 中看到此信息
Oct 17 10:37:49 new-host-2 postfix/smtp[1552]: connect to aspmx.l.google.com[74.125.113.27]:25: Operation timed out
我假设这是因为它无法通过端口 25 工作。我需要修改什么才能让 smtp 通过端口 587 进行通信?我尝试使用端口转发,但也没有用。
不确定,但我认为如果我能让 mail.log 显示[74.125.113.27]:587
这一点,那就行得通了。有想法如何切换吗?
提前致谢!
答案1
大多数邮件服务器不监听端口 587。监听端口的邮件服务器通常将其指定为仅供经过身份验证的用户中继邮件的端口。它们通常不会在端口 587 上接受来自外界的传入电子邮件。
编辑:似乎您正在尝试将 Gmail 用作出站 SMTP 服务器。在这种情况下,您需要:
- 连接到
smtp.gmail.com
,而不是aspmx.*
用于接收邮件的服务器。 - 告诉 Postfix 使用 TLS 加密连接到端口 587 上的出站服务器。
- 告诉 Postfix
AUTH
使用您的 Gmail 用户名和密码(验证)连接。
编辑#2:以下是一个完整示例:http://www.bamweb.nl/computer/linux/271
其他文件:
- 设置 TLS
- 设置出站主机:
relayhost = [smtp.gmail.com]:587
- 如何对出站连接执行 SMTP AUTH
答案2
为了让您通过端口 587 发送邮件,另一端需要监听端口 587,但可能并非如此。
如果您的提供商阻止了传出端口 25(许多住宅 ISP 都这样做;那些不应该这样做的,这只是一种良好做法),那么您将需要配置 Postfix 以将所有传出邮件发送到您的 ISP 的邮件服务器进行投递。
在大多数情况下,您可以在 postfix 中设置以下内容main.cf
,将所有邮件转发到您的 ISP 的邮件服务器:
relayhost = mail.your-isp.com
另请参阅后缀文档。