Echoファイルがmailutilsと競合しています。

Echoファイルがmailutilsと競合しています。

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です。mailtee

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

関連情報