bash:printf 發送電子郵件失敗,重新導向成功

bash:printf 發送電子郵件失敗,重新導向成功

當我將 printf 的輸出透過管道發送到 mail 時,電子郵件不會發送。當我將輸出寫入文件並重定向文件中的輸入時,它可以工作。

例如,我有一個 bash 腳本,其中包含以下內容:

printf "\nsending email.\n" | /usr/bin/mail -s "email test 1" [email protected]

printf "\nsending email\n" > /tmp/email-test
/usr/bin/mail -s "email test 2" [email protected] < /tmp/email-test

電子郵件測試 2 已送達,但電子郵件測試 1 未送達。

症狀是間歇性的。有時兩封電子郵件都會發出。有時,有管道的那個會發生故障。

無論其中一個還是兩個都出去,我都會得到兩個日誌行,它們看起來很像這樣:

Nov 17 07:39:10 boxtop3 postfix/smtp[12749]: 9A7032C23C5: to=<[email protected]>, orig_to=<[email protected]>, relay=smtp.gmail.com[64.233.177.109]:587, delay=1.7, delays=0.04/0/1.1/0.58, dsn=2.0.0, status=sent (250 2.0.0 OK  1573994350 z127sm6991417ywb.38 - gsmtp)
Nov 17 07:39:10 myserver postfix/qmgr[12702]: 9A7032C23C5: removed

我的電子郵件由 mydomain.com 和 mydomain.org 的 GMail 託管。 GMail 似乎間歇性地丟棄我的一些電子郵件。為什麼?

使用:

  • GNU bash,版本 4.4.20(1)-發布
  • 後綴3.3.0-1ubuntu0.2
  • 郵件(GNU Mailutils)3.4

答案1

事實證明,這兩個電子郵件命令都沒有問題。每一次執行時都會可靠地傳送訊息,如 /var/log/mail 所示。

我的電子郵件被發送至[電子郵件受保護],由 GMail 託管。 [電子郵件受保護]有一條規則將所有內容轉送到[電子郵件受保護]

在郵箱中找到了遺失的郵件[電子郵件受保護]。他們沒有被運送到[電子郵件受保護]。由於某種未知的原因,GMail 無法轉發或無法傳遞我的一些郵件。還有其他電子郵件無法轉發/發送——這些訊息只是我注意到的第一條訊息。

相關內容