Linux
如何在 Linux 上發送原始郵件消息?
如果我有 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 發送消息伺服器(不是本地伺服器的郵件隊列)。
我可以為此目的使用什麼命令行實用程序?
您可以使用
sendmail
postfix/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 伺服器,這使其成為移動客戶端的理想選擇。