Linux

如何在 Linux 上發送原始郵件消息?

  • July 1, 2019

如果我有 MIME 消息的全部內容,那麼在 Linux 上發送該消息的最佳實用程序是什麼?MIME 消息將包括完整的標頭和郵件正文,例如:

Received: (qmail 32389 invoked by uid 0); 13 Jun 2017 09:24:51 -0400
Date: Tue, 13 Jun 2017 09:24:51 -0400
From: root@test.server.com
To: test@test.com
Subject: Test Email
Message-ID: <593fe7a3.IgSR+/BLy+NYXlVZ%root@test.server.com>
User-Agent: Heirloom mailx 12.5 7/5/10
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

The mail body goes here

我希望能夠將上述內容提供給命令行實用程序,然後該實用程序將“按原樣”重新處理消息,而無需解析發件人、主題等欄位。它應該通過指定的外部 SMTP 發送消息伺服器(不是本地伺服器的郵件隊列)。

我可以為此目的使用什麼命令行實用程序?

您可以使用sendmailpostfix/exim/… 提供的或“發送郵件看起來相似”。

/usr/sbin/sendmail -i -- $recipients < message_file

-i- 不要特別對待帶前導點的線條


您可以使用更奇特的“sendmail look alike”(例如由 提供msmtp)通過另一個 smtp 主機直接發送,而無需“系統範圍”配置。

msmtp在 debian 中分發,因此它很可能包含在其他 linux 發行版中。

https://packages.debian.org/stretch/msmtp

包:msmtp (1.6.6-1)

輕型 SMTP 客戶端,支持伺服器配置文件

msmtp 是一個 SMTP 客戶端,可用於從 Mutt 和可能的其他 MUA(郵件使用者代理)發送郵件。它將郵件轉發到 SMTP 伺服器(例如在免費郵件提供商處),該伺服器負責最終傳遞。使用配置文件,它可以輕鬆配置為使用具有不同配置的不同 SMTP 伺服器,這使其成為移動客戶端的理想選擇。

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