我在AWS/EC2实例上运行Ubuntu 18.04。我安装了mailutils和postfix,希望能成为一个只发送邮件的服务器。
我读到一些提供商阻止端口25作为防止垃圾邮件的手段,这很好。我试图通过强制Postfix在端口587而不是端口25上发送来避免这个问题。经过仔细的设置&故障排除后,我在命令行上发送测试电子邮件的所有尝试都以";连接超时";并且示出了在收件人邮件服务器的端口25上尝试的连接。
这是我的master.cf的一部分,我只在两行上做了一次更改。第一个是我为587做了一个条目,第二个是我注释掉了smtp 的条目
# ==========================================================================
587 inet n - - - - smtpd
#smtp inet n - y - - smtpd
#smtp inet n - y - 1 postscreen
#smtpd pass - - y - - smtpd
#dnsblog unix - - y - 0 dnsblog
#tlsproxy unix - - y - 0 tlsproxy
#submission inet n - y - - smtpd
为了隐私,我已经编辑了ip地址和主机名
这是我的main.cf文件的一部分。我只将inet_ interfaces上的一个设置更改为";仅环回";
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = REDACTED.ca-central-1.compute.internal
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = REDACTED
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
inet_protocols = all
我已经用这些配置更改重新启动并重新加载了postfix。在命令行上,我为三个不同的电子邮件收件人尝试了以下命令:
ubuntu@REDACTED:/etc/postfix$echo";你好,大卫邮件-s";这是你的发票,兄弟-a";发件人:david@HOSTNAME_REDACTED.ca"contact@REDACTED.ca
我尝试过这个命令,将最后一个参数更改为另外两个电子邮件地址。在我的邮件队列中:
ubuntu@ip-172-31-13-145:/etc/postfix$ mailq
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
AB9ED47F37 424 Fri Apr 9 02:50:00 david@REDACTED.ca
(connect to msn-com.olc.protection.outlook.com[104.47.58.33]:25: Connection timed out)
(email1@provider1.com)
D366F47F48 435 Fri Apr 9 03:31:10 david@REDACTED.ca
(connect to alt1.aspmx.l.google.com[64.233.186.27]:25: Connection timed out)
(email3@provider3.ca)
3E5F847F3D 434 Fri Apr 9 02:58:38 david@REDACTED.ca
(connect to msn-com.olc.protection.outlook.com[104.47.55.161]:25: Connection timed out)
(email1@provider1.com)
4EF7E47F46 434 Fri Apr 9 03:14:01 david@REDACTED.ca
(connect to myumanitoba-ca.mail.protection.outlook.com[104.47.60.36]:25: Connection timed out)
(email2@provider2.ca)
4926247F2D 424 Fri Apr 9 02:36:11 david@REDACTED.ca
(connect to msn-com.olc.protection.outlook.com[104.47.12.33]:25: Connection timed out)
(email1@provider1.com)
4516047F34 434 Fri Apr 9 02:56:55 david@REDACTED.ca
(connect to msn-com.olc.protection.outlook.com[104.47.8.33]:25: Connection timed out)
(email1@provider1.com)
9B09347F32 424 Fri Apr 9 02:44:32 david@REDACTED.ca
(connect to msn-com.olc.protection.outlook.com[104.47.9.33]:25: Connection timed out)
(email1@provider1.com)
-- 2 Kbytes in 7 Requests.
如每一条消息所示,它正试图在:25上连接到收件人服务器,这不是587吗?
如有任何帮助,我们将不胜感激。修补程序文档没有深入了解端口号,我很失落。提前感谢!
在我看来,您将postfix配置为仅在端口587上侦听。您需要将其配置为在该端口上发送电子邮件。
尝试:
relayhost = [relayhost_ip]:587
在main.cf 上