![无法使用 postfix 从 ec2 实例发送电子邮件](https://linux22.com/image/653538/%E6%97%A0%E6%B3%95%E4%BD%BF%E7%94%A8%20postfix%20%E4%BB%8E%20ec2%20%E5%AE%9E%E4%BE%8B%E5%8F%91%E9%80%81%E7%94%B5%E5%AD%90%E9%82%AE%E4%BB%B6.png)
我发现我有一段时间没有收到电子邮件。当我检查日志时,我看到了如下错误消息:
1 Mar 7 03:37:32 ip-179-45-37-216 postfix/smtpd[24969]: connect from localhost[127.0.0.1]
2 Mar 7 03:37:32 ip-179-45-37-216 postfix/smtpd[24969]: 92963C1550: client=localhost[127.0.0.1]
3 Mar 7 03:37:32 ip-179-45-37-216 postfix/cleanup[24972]: 92963C1550: message-id=<[email protected]>
4 Mar 7 03:37:32 ip-179-45-37-216 postfix/qmgr[23814]: 92963C1550: from=<[email protected]>, size=1398, nrcpt=1 (queue active)
5 Mar 7 03:37:32 ip-179-45-37-216 postfix/smtpd[24969]: disconnect from localhost[127.0.0.1]
6 Mar 7 03:37:32 ip-179-45-37-216 postfix/smtp[24973]: connect to ASPMX.L.GOOGLE.com[2607:f8b0:400e:c02::1b]:25: Network is unreachable
7 Mar 7 03:37:34 ip-179-45-37-216 postfix/smtp[24973]: 92963C1550: to=<[email protected]>, relay=ASPMX.L.GOOGLE.com[74.125.28.27]:25, delay=1.8, delays=0.09/0/0.17/1.5, dsn =2.0.0, status=sent (250 2.0.0 OK 1425699441 md9si17726259pdb.104 - gsmtp)
8 Mar 7 03:37:34 ip-179-45-37-216 postfix/qmgr[23814]: 92963C1550: removed
该域名work.com
托管在 google gmail 上。我该如何找出问题所在?
我没有在该 aws ec2 实例使用的安全组中设置任何出站规则。
答案1
该日志有两行重要内容
Mar 7 03:37:32 ip-179-45-37-216 postfix/smtp[24973]: connect to ASPMX.L.GOOGLE.com[2607:f8b0:400e:c02::1b]:25: Network is unreachable
Mar 7 03:37:34 ip-179-45-37-216 postfix/smtp[24973]: 92963C1550: to=<[email protected]>, relay=ASPMX.L.GOOGLE.com[74.125.28.27]:25, delay=1.8, delays=0.09/0/0.17/1.5, dsn =2.0.0, status=sent (250 2.0.0 OK 1425699441 md9si17726259pdb.104 - gsmtp)
第一行告诉我们您的服务器尝试通过 IPv6 连接 Gmail 服务器,但是由于您环境中的 IPv6 网络已损坏,因此无法连接。第二行告诉我们IPv6 故障后,postfix 将恢复到 IPv4 模式并通过 IPv4 地址 (74.125.28.27) 发送您的电子邮件。
您可以通过此参数强制 postfix 禁用 postfix 中的 IPv6main.cf
inet_protocols = ipv4
参考:Postfix 文档