linux mailxを使用してシンプルなメッセージ本文 +ファイル添付ファイルの送信[複製

StackOverflow https://stackoverflow.com/questions/8314999

  •  25-10-2019
  •  | 
  •  

質問

この質問にはすでに答えがあります:

私は書いています shell script Linuxを使用して電子メールを送信します Mailx, 、電子メールにはaが含まれている必要があります 添付ファイル そしてa メッセージ本文.

現在、添付ファイルでメールを送信します:

output.txt | mail -s "Daily Monitoring" james@dell.com

メッセージ本文を追加したいです。どうすればいいですか?

Linux Mailx:

mail [-eIinv] [-a header] [-b addr] [-c addr] [-s subj] to-addr
役に立ちましたか?

解決

通常の方法は使用することです uuencode 添付ファイルのために echo 体のために:

(uuencode output.txt output.txt; echo "Body of text") | mailx -s 'Subject' user@domain.com

SolarisとAIXの場合、あなたは echo 最初の声明:

(echo "Body of text"; uuencode output.txt output.txt) | mailx -s 'Subject' user@domain.com

他のヒント

最良の方法は、MPACKを使用することです!

mpack -s "subject" -d "./body.txt" "././image.png" mailadress

mpack-件名 - ボディ - 添付ファイル - メールアドレス

これを試してみてくださいそれは私のために働きます:

(echo "Hello XYX" ; uuencode /export/home/TOTAL_SI_COUNT_10042016.csv TOTAL_SI_COUNT_10042016.csv ) | mailx -s 'Script test' abc@xde.com

Rhel Linuxでは、添付ファイルとしてではなく、電子メールの本文でメッセージを取得するのに苦労しました。 OD -CXを使用して、電子メールの本文にいくつかの /rが含まれていることがわかりました。 PERLスクリプトを使用して /rを剥がし、メッセージが電子メールの本文に正しく挿入されました。

mailx -s "subject text" me@yahoo.com < 'body.txt'

テキストファイルbody.txtにはchar rが含まれていたため、perlを使用して rを剥ぎました。

cat body.txt | perl success.pl > body2.txt
mailx -s "subject text" me@yahoo.com < 'body2.txt'

これはsuccess.plです

    while (<STDIN>) {
        my $currLine = $_;
        s?\r??g;
        print
    }
;

Johnsywebの答えは私にとってはうまくいきませんでしたが、それはMuttで私には機能します:

echo "Message body" | mutt -s "Message subject" -a myfile.txt recipient@domain.com

あなたはこれを試すことができます:

(cat ./body.txt)|mailx -s "subject text" -a "attchement file" receiver@domain.com
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top