Redhat + Postfix:仅可通过命令行发送电子邮件

Redhat + Postfix:仅可通过命令行发送电子邮件

所以我有一个 ruby​​ 应用程序,当出现错误时会发送电子邮件,但它似乎不起作用。这是发生这种情况时的日志:

/var/log/邮件日志:

    Sep 30 14:09:58 511914-db2 postfix/qmgr[1975]: 7794E5A02BD: removed
    Sep 30 14:09:59 511914-db2 postfix/smtpd[9407]: connect from localhost[127.0.0.1]
    Sep 30 14:09:59 511914-db2 postfix/smtpd[9407]: 2471A5A02BD: client=localhost[127.0.0.1]
    Sep 30 14:09:59 511914-db2 postfix/cleanup[9410]: 2471A5A02BD: message-id=<[email protected]>
    Sep 30 14:09:59 511914-db2 postfix/smtpd[9407]: disconnect from localhost[127.0.0.1]
    Sep 30 14:09:59 511914-db2 postfix/qmgr[1975]: 2471A5A02BD: from=<[email protected]>, size=5354, nrcpt=1 (queue active)
    Sep 30 14:09:59 511914-db2 postfix/smtp[9411]: connect to aspmx.l.google.com[2607:f8b0:4003:c02::1b]:25: Network is unreachable
    Sep 30 14:09:59 511914-db2 postfix/smtp[9411]: 2471A5A02BD: to=<[email protected]>, relay=aspmx.l.google.com[173.194.64.27]:25, delay=0.31, delays=0.06/0/0.05/0.2, dsn=2.0.0, status=sent (250 2.0.0 OK 1380568199 xq2si1045224obc.109 - gsmtp)

但是,当我尝试从命令行发送电子邮件时,它可以工作:

echo "Test email sent from db2" | /usr/sbin/sendmail [email protected]

这会在我的 /var/log/maillog 中产生如下结果:

    echo "Test email sent from db2" | /usr/sbin/sendmail [email protected]
    [mysite@511914-db2 ~]$ sudo su 
    [sudo] password for mysite: 
    [root@511914-db2 mysite]# cd /var/log
    [root@511914-db2 log]# tail -f maillog
    Sep 30 15:46:27 511914-db2 postfix/pickup[12986]: E78C05A0686: uid=502 from=<mysite>
    Sep 30 15:46:27 511914-db2 postfix/cleanup[16776]: E78C05A0686: message-id=<[email protected]>
    Sep 30 15:46:27 511914-db2 postfix/qmgr[1975]: E78C05A0686: from=<[email protected]>, size=349, nrcpt=1 (queue active)
    Sep 30 15:46:27 511914-db2 postfix/smtp[16778]: connect to aspmx.l.google.com[2607:f8b0:4003:c02::1a]:25: Network is unreachable
    Sep 30 15:46:28 511914-db2 postfix/smtp[16778]: E78C05A0686: to=<[email protected]>, relay=aspmx.l.google.com[173.194.64.27]:25, delay=0.4, delays=0.07/0.01/0.1/0.23, dsn=2.0.0, status=sent (250 2.0.0 OK 1380573988 pu10si1222849obb.113 - gsmtp)
    Sep 30 15:46:28 511914-db2 postfix/qmgr[1975]: E78C05A0686: removed

从表面上看,电子邮件正在发送。但是,除了通过命令行运行该命令外,我没有收到任何内容。会不会是disconnect from localhost[127.0.0.1]出了什么问题?

如果您需要更多信息,请告诉我,我会粘贴它。

答案1

第一个结果中的最后一行显示(除其他内容外)“status=sent”,第二个输出中的倒数第二行也是如此。这意味着两次邮件都已成功发送,并被 Gmail 邮件服务器接受进行投递。Postfix 最初尝试通过 IPv6 连接,当失败时,它会通过 IPv4 连接。您无需执行任何操作 - 一切都正常。

相关内容