无法使用 postfix 从 ec2 实例发送电子邮件

Ant*_*ong 1 postfix amazon-ec2

我发现我有一段时间没有收到电子邮件。当我检查日志时,我看到如下错误消息:

  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=<54fa727c90159_61903c7ea44684@ip-179-45-37-216.mail>
  4 Mar  7 03:37:32 ip-179-45-37-216 postfix/qmgr[23814]: 92963C1550: from=<sensu@monitoring.work.com>, 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=<anthony@work.com>, 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 
Run Code Online (Sandbox Code Playgroud)

该域work.com托管在 google gmail 上。我怎样才能找出问题所在?

我没有在这个 aws ec2 实例使用的安全组中设置任何出站规则。

mas*_*oeh 7

这个日志有两行很重要

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=<anthony@work.com>, 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)
Run Code Online (Sandbox Code Playgroud)

第一行告诉我们,您的服务器尝试通过 IPv6 连接 Gmail 服务器,但无法连接,因为您环境中的 IPv6 网络已损坏。第二行告诉我们,在 IPv6 失败后,postfix 将回退到 IPv4 模式并通过 IPv4 地址 (74.125.28.27) 发送您的电子邮件。

您可以通过此参数强制 postfix 在您的 postfix 中禁用 IPv6 main.cf

inet_protocols = ipv4
Run Code Online (Sandbox Code Playgroud)

参考资料:Postfix 文档