Email

mail 有效,但 sendmail 無效!(後綴)

  • September 6, 2021

我在伺服器上安裝了 postfix,當我使用命令發送電子郵件時,sendmail它沒有被傳遞,但是當我使用mail命令發送時,它確實被傳遞。更糟糕的是,後綴日誌聲稱它在使用時傳遞:

這就是日誌顯示的內容echo "test email" | sendmail sendmail@mailinator.com

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=<20210904143303.38418406E2@codingschool.tk>
Sep  4 14:33:03 howtocode1 postfix/qmgr[231761]: 38418406E2: from=<root@codingschool.tk>, size=295, nrcpt=1 (queue active)
Sep  4 14:33:03 howtocode1 postfix/smtp[272166]: 38418406E2: to=<sendmail@mailinator.com>, 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 bobo@mailinator.com效果很好!郵件已發送!

所以我不明白為什麼他們的mail命令在世界上有效,但不是sendmail。任何的想法?

好吧,這是有史以​​來最奇怪的事情。這不起作用:

echo "Subject: 1hello people" | sendmail bobo@mailinator.com

但這有效:

echo "Subject: hello people
>this is the body" | sendmail bobo@mailinator.com

因此,由於某種原因,如果沒有主體,只是一個主題,它就行不通。它聲稱它已被發送,但不知何故它不被接受。我嘗試發送到除了 mailinator 之外的其他地方並且遇到了同樣的問題。

好的,我們直接測試一下:

$ 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:<root@codingschool.tk>
250 Ok
RCPT TO:<sendmail@mailinator.com>
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也已發送,並且遠端伺服器接受了此郵件。

所以再試一次,它會工作的。

引用自:https://serverfault.com/questions/1076640