質問:mailxコマンドを使用してLinuxマシンから添付ファイル付きの電子メールを送信する方法は?

mailxコマンドを使用してlinuxマシンから電子メールを送信するための基本的な構文を以下に示します:

# echo "this is the body of the email" | mailx -vvv -s "test mail" -r "From" -S smtp="your-smtp" [email protected]

ここでは、,

-vvv = Verbosity.-s = Specifies the subject.-r = Email sent from.-S = Specifies the smtp server.

方法1:mailxのバージョンが12未満の場合は、uuencode(古い方法)

を使用します。xでは、uuencodeコマンドを使用して、添付ファイル付きのメールを送信できます。

# uuencode | mailx -s "Subject" [email protected]

方法2:-a switch in mailxコマンド

mailxの新しい添付ファイルスイッチ(-a)を使用して、メールとともに添付ファイルを送信します。 -Aオプションは、uuencodeコマンドよりも簡単に使用できます。

# mailx -a file.txt -s "Subject" [email protected]

上記のコマンドは新しい空白行を出力します。 ここにメッセージの本文を入力し、+を押して送信します。 これにより、適切なContent-Typeヘッダーとboundaryヘッダーを使用して、送信メールにファイルが正しく添付されます。

これをより”スクリプト可能”にするには、次のように本文なしでメッセージを送信できます:

# mailx -a file.txt -s "Subject" [email protected] 

メッセージ本文でメールを送信するには、上記のコマンドの/dev/nullをメッセージ本文ファイルに置き換えます。

mailxの新しいバージョンでは、送信メールで使用されるヘッダーが次のように変更されました:

From: Date: To: Subject:

以下のフォームへ:

From: Date: To: Subject: User-Agent: MIME-Version: Content-Type: Content-Transfer-Encoding:
注:受信した電子メールのヘッダーを確認してください。 添付ファイルの古いuuencodeメソッドで送信された電子メールは、境界のないContent-Type:text/plainのコンテンツタイプを持ちます。 新しいmailx-aスイッチを使用して添付ファイルを持つ電子メールにはContent-Typeがあります: マルチパート/混合;boundary=”=….”ヘッダ…。”

コメントを残す

メールアドレスが公開されることはありません。