mail 可以工作,但是 sendmail 不行!(Postfix)

mail 可以工作,但是 sendmail 不行!(Postfix)

我在服务器上安装了 postfix,当我使用命令发送电子邮件时,sendmail它没有被送达,但当我使用命令发送时,mail它确实被送达。更糟糕的是,postfix 日志声称它在使用以下命令时被送达:

日志显示的内容如下echo "test email" | sendmail [email protected]

Sep  4 14:33:03 howtocode1 postfix/pickup[271977]: 38418406E2: uid=0 from=<root>
Sep  4 14:33:03 howtocode1 postfix/cleanup[272164]: 38418406E2: message-id=<[email protected]>
Sep  4 14:33:03 howtocode1 postfix/qmgr[231761]: 38418406E2: from=<[email protected]>, size=295, nrcpt=1 (queue active)
Sep  4 14:33:03 howtocode1 postfix/smtp[272166]: 38418406E2: to=<[email protected]>, relay=mail2.mailinator.com[45.33.83.75]:25, delay=0.06, delays=0.03/0.01/0.01/0.01, dsn=2.0.0, status=sent (250 Ok)
Sep  4 14:33:03 howtocode1 postfix/qmgr[231761]: 38418406E2: removed

显然它看起来是对的。但是邮件从来没有被送达。但是这个:效果很好!邮件被发送了!echo "test email 2" | mail [email protected]

所以我不明白为什么命令mail有效,而命令无效sendmail。有什么想法吗?

答案1

好的,我们直接测试一下:

$ host -t mx mailinator.com
mailinator.com mail is handled by 1 mail.mailinator.com.
mailinator.com mail is handled by 1 mail2.mailinator.com.
➜  ~ telnet mail.mailinator.com 25
Trying 23.239.11.30...
Connected to mail.mailinator.com.
Escape character is '^]'.
220 mail.mailinator.com ESMTP Postfix
EHLO LutzWillek
250-mail.mailinator.com
250-8BITMIME
250-STARTTLS
250 Ok
MAIL FROM:<[email protected]>
250 Ok
RCPT TO:<[email protected]>
250 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
Subject: Test from command line

Hello. This is a test message.
.
250 Ok
Connection closed by foreign host.

这是有效的,因为可以在https://www.mailinator.com/v4/public/inboxes.jsp?to=sendmail

您的日志显示带有 id 的消息38418406E也已发送,并且远程服务器已接受此邮件。

所以再试一次,它会起作用

答案2

好吧,这是有史以来最奇怪的事情。这不起作用:

echo "Subject: 1hello people" | sendmail [email protected]

但这有效:

echo "Subject: hello people
>this is the body" | sendmail [email protected]

因此,出于某种原因,如果没有正文,只有主题,它就不起作用。它声称已发送,但不知何故没有被接受或类似情况。我尝试发送到 mailinator 以外的其他地方,也遇到了同样的问题。

相关内容