Mailx

我可以使用(普通)mailx 重新發送消息嗎?

  • February 25, 2015

假設我收到一封帶有附件的郵件,而我要做的就是將此郵件重新發送到另一個地址。是否可以使用普通的mailx來做到這一點?如果是這樣,怎麼做?我知道 Heirloom mailx 有一個重新發送命令,但我想知道是否可以使用更原始版本的 mailx 來實現這個結果。

根據 heirloom mailx 的文件:

resend:獲取消息列表和使用者名,並將每條消息發送給指定使用者。‘Resent-From:’ 和相關的標頭欄位被附加到消息的新副本中。

對於達到相同效果的簡單方法,您甚至根本不需要使用 MUA。您可以只使用 shell 和管道將消息直接送出給 MTA/MSP。因此,如果您的消息(標題+正文)位於名為的文件中foo

(
   echo "Resent-From: your.email@address
   cat foo
) | /usr/lib/sendmail somebody@else.com

請注意,安裝系統的 MTA 不需要使用 Sendmail 即可。/usr/lib/sendmail只是事實上的標準 UNIX 郵件送出介面。Postfix 和 exim 等其他 MTA 也提供/usr/lib/sendmail

另請注意,我沒有考慮文件中提到的“相關標頭欄位”。我沒有檢查我猜他們是Resent-Date這樣的。如果您知道它們是什麼並且您願意將它們包括在內,則可以將它們添加為echo上面的附加語句。

最後,我會注意到,即使是 heirloom mailx 也有一個名為“Resend”(注意大寫 R)的附加模式,記錄如下:

resend類似,但不添加任何標題行。這不是隱藏發件人身份的方法,但對於將消息再次發送給相同的收件人很有用。

因此,如果您真的想要,它會更簡單,因為您只需按原樣送出現有消息:

/usr/lib/sendmail somebody@else < foo

引用自:https://unix.stackexchange.com/questions/186884