(GNU bash、バージョン4.2.50(1)-リリース(powerpc-ibm-aix6.1.2.0))
(
echo "a"
echo "b"
echo "c"
)| sendmail -F "Sender" [email protected]
これは.shファイル内で実行され、ログ(-xオプションを指定して実行した場合)にはecho "c"
の前にsendmail
が表示されます。
Sendmailが散発的に失敗する理由をデバッグしようとしています。サブシェルとsendmailは並行して実行されるため、sendmailがサブシェル全体が終了するのを待たずに、echo b
まで部分的な出力のみを使用し、不完全な電子メールの送信に進んで失敗する可能性はありますか? (ただし、stderrにはエラーメッセージはありませんが、一部の実行では、電子メールが受信トレイに不思議に表示されません)
詳細については、上記のエコーコマンドは単なるプレースホルダーです。実際には、この回答のようにメールを準備しようとしています https://stackoverflow.com/a/3335377/11521011 sendmail
sendmail
のコマンドラインオプションで-i
を使用していません。
これがないと、sendmail
は「単一ドットのみの行」をメッセージの終わりとして扱います。