9

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

私は書いていますshell scriptLinuxを使用してEメールを送信するMailx電子メールには添付ファイルそしてメッセージ本文

現在添付ファイル付きの電子メールを送信しています:

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

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

Linux Mailx:

mail [-eIinv] [-a header] [-b addr] [-c addr] [-s subj] to-addr


6 답변


22

通常の使い方は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


  • 2番目のものを実行しようとしました、そしてそれは空白の領域を促します、そして、終了する唯一の方法はctr + cです、それはコードが閉じていないようです、どうすればこれを解決できますか? - Rabb-bit
  • Ctrl + Cを押すと、添付ファイルなしでメールが送信されます。 - Rabb-bit
  • パイプライン内のこれらの各コマンドは、システム上で個別に機能しますか? - Johnsyweb
  • @ Johnsyweb - 私は、uuencodeを使わずに同じ活動をする必要があります。出来ますか?? - Nikhil
  • @nikhil:いくつかの選択肢がありますstackoverflow.com/q/17359/78845 - Johnsyweb

3

最善の方法はmpackを使うことです。

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

mpack - サブジェクト - ボディ - アタッチメント - mailadress


1

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

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


0

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

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


0

これを試すことができます:

(cat ./body.txt)|mailx -s "subject text" -a "attchement file" receiver@domain.com


0

RHEL Linuxでは、添付ファイルとしてではなく、電子メールの本文に自分のメッセージを取り込むのに問題がありました。 od -cxを使用して、電子メールの本文に複数の/ rが含まれていることがわかりました。私は/ rを取り除くためにperlスクリプトを使いました、そしてメッセージは正しく電子メールの本文に挿入されました。

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

テキストファイルbody.txtにはcharが含まれていたので、perlを使って削除しました。

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
    }
;

リンクされた質問


関連する質問

最近の質問