この質問にはすでに答えがあります。
私は書いていますshell script
Linuxを使用して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
通常の使い方は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 "件名" -d "./body.txt" "././image.png" mailadress
mpack - サブジェクト - ボディ - アタッチメント - mailadress
これを試してみてくださいそれは私のために働く:
(echo "Hello XYX" ; uuencode /export/home/TOTAL_SI_COUNT_10042016.csv TOTAL_SI_COUNT_10042016.csv ) | mailx -s 'Script test' abc@xde.com
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
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
}
;