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: [email protected]
To: [email protected]
Subject: Test Email
Message-ID: <593fe7a3.IgSR+/BLy+NYXlVZ%[email protected]>
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サーバー(ローカルサーバーのメールキューではない)を介してメッセージを送信する必要があります。
これを達成するためにどのコマンドラインユーティリティを使用できますか?
答え1
sendmail
postfix / exim / ...で提供されている「sendmail Look alike」を使用できます。
/usr/sbin/sendmail -i -- $recipients < message_file
-i
- 前に点がある線を特に処理しないでください。
よりクールな「sendmail Look alike」(例:で提供msmtp
)を使用して、「システム全体」構成なしで他のsmtpホストを介して直接送信できます。
msmtp
はDebianとして配布されるため、他のLinuxディストリビューションにも含まれる可能性が高くなります。
https://packages.debian.org/search?searchon=names&keywords=msmtp
https://packages.debian.org/bookworm/msmtp
パッケージ: msmtp(...)
サーバープロファイルをサポートする軽量SMTPクライアントmsmtpは、Muttや他のメールユーザーエージェント(MUA)からメールを送信するために使用できるSMTPクライアントです。最終的な配信を担当するSMTPサーバー(無料の電子メールプロバイダなど)にメッセージを転送します。プロファイルを使用すると、さまざまな構成のさまざまなSMTPサーバーを使用するように簡単に構成できるため、モバイルクライアントに最適です。
答え2
残念ながら、sendmail
他のmailx
SMTPサーバーを指定することはできません。しかし、Andrzejの答えをsshと組み合わせることができます。-t
読んでいるファイル/データから受信者を読むには、そのオプションを使用します。
cat <messagefile> | ssh user@mailhost /usr/sbin/sendmail -i -t
<messagefile>
MIMEメッセージを含むファイルで、mailhostはSMTPサーバーです。user
SMTPサーバーのログインID。
答え3
カタツムリmailx
多くの改善点の中で、コマンドラインでSMTPサーバーを指定することができる大幅に改善された代替手段です。
例えば
s-nail -S "smtp=smtp://remote-server:port" < message.txt
暗号化されたSMTP(STARTTLS、SMTPS、またはSUBMISSIONを使用)とSMTP AUTHもサポートしています。man s-nail
詳細より。
s-nail
複数のLinuxディストリビューション用に事前にパッケージ化することができます(例:debian)apt-get install s-nail
。