ssmtp インストール後メールツール、"echo"を使用してファイルに書き込むと、ユーザー名@ホスト名に電子メールを送信しようとします。たとえば、
mailutilsを使用してメールを送信する:
echo "Body text here." | mail -s "Subject text here." [email protected]
私は以下を使用して
echo "log content" > logfile.txt
ログファイルに内容を書き込みます。
問題は、ログファイルに書き込もうとしたときにGmailがユーザー名@ホスト名にアクセスできないという転送可能な電子メールを受信したことです。これはメールユーティリティを妨げるという意味です。
これはmailutilsの既知の問題であり、回避策または修正が必要です。どのように修正しますか?
答え1
このようなことをしていますか?
echo "log content" > logfile.txt | mail -s "Subject text" [email protected]
もしそうなら、うまくいかないのは当然echo
です。mail
。tee
tee
全体的な目的は(マンページから)次のとおりです。
tee - 標準入力から読み込み、標準出力とファイルに書き込みます。
logfile.txt
注:完全に上書きせずに追加するには、tee -a logfile.txt
.seeを使用してくださいman tee
。
したがって、ログファイルに保存してメールにパイプするには、次のようにします。
echo "log content" | tee logfile.txt | mail -s "Subject text" [email protected]
または、次のようにログファイルにリダイレクトし、stdinを使用してログファイルに<
リダイレクトすることもできます。mail
echo "log content" > logfile.txt
mail -s "Subject text" [email protected] < logfile.txt