2017-02-23 6 views
1

空です:コマンドライン上で電子メールを介してログファイルの内容を送信するメールは、私はこのような電子メールを介してログファイルの内容を送信しようとしています

sendmail -f [email protected] [email protected] < /private/var/log/mylog 

残念ながら、これは動作しません - メールが受信トレイに到着します空です。

同じことがこの変動を真実である:

echo "$(</private/var/log/mylog)" | sendmail -f [email protected] [email protected] 

しかし、このようないくつかの文字列をエコーする場合:

echo "testing" | sendmail -f [email protected] [email protected] 

を電子メールには、コンテンツに到着しました。また、ファイルの内容を表示するcatを使用すると、あまりにも動作します。これは私がコマンドを書いた方法で何かしなければならあるという結論に私をリードしたが、私は、構文上の問題や類似したが表示されません。私は何を

をしないのです - ファイルの内容を送信しようとしたときに、なぜ電子メールが空に到着しますか?

+0

以下のためにコマンドがメール本文の制限のだろう試してみてください。このhttp://stackoverflow.com/questions/1333097/how-to-send-a-html-email-with-the-bash-command-sendmailをお試しください –

答えて

0
sendmail

は、標準入力上に「生」メッセージ(空行で区切られたヘッダとボディ)を見込んでいます。

は、ログファイルが数メガバイトよりも大きい場合

(echo Subject: Logfile; echo; cat /private/var/log/mylog) | sendmail -i -f [email protected] [email protected] 
関連する問題