1

私たちのWebプロジェクトには、信頼できる電子メール配信メカニズムが必要です。過去の悪い経験のために、私はbashスクリプト(1時間ごとに実行)を作成しました。このスクリプトは、次の場合に通知メールを送信します。

  1. qmail-sendプロセスが実行されていません
  2. メールログに失敗が多すぎます

通知メールを送信する場合、qmail-sendプロセスが実行されていない場合、qmailは使用できなくなるため、qmailに依存したくないことは明らかです。ただし、次のコマンドは、qmailを介して通知電子メールを送信します。

echo "failure rate critical" | mail -s "qmail notification" my@email.com

qmailなしでLinuxコマンドラインから電子メールを送信する最も簡単な方法は何ですか?sendmailを使用できますか?

qmailを監視するためのよりスマートなアラームシステムをお持ちの場合は、お知らせください。

4

2 に答える 2

2

/usr/sbin/sendmailバイナリを呼び出します。通常、使用するMTAに関係なく使用でき、sendmailという名前の場合は、標準のsendmailインターフェースをサポートしていることを確認できます。

これを使用する最も簡単な方法はsendmail -t、有効なヘッダーを含む電子メールを呼び出して、Toそのstdinに書き込むことです。省略-tした場合は、コマンドライン引数として受信者アドレスを渡す必要があります。

別の解決策はSMTPを使用することですが、bashスクリプトから電子メールを送信する必要がある場合、smtpを介して電子メールを送信する関数を含む標準ライブラリがBashにないため、これは明らかに悪い解決策です(簡単にメールを送信できないpythonとは異なります) sendmailを使用しますが、SMTP経由)。

于 2011-02-16T06:22:22.357 に答える
1

mailPOSIXにユーティリティがあります。Linuxのみの場合は、問題sendmailありません(ただし、システムの(誤った)構成に依存しますよね?)。

全体として、SMTPプロトコルはそれほど難しくありません。純粋なSMTPで話せると思います。些細なメールに対して発行するコマンドは約4つです。そしてそれはポータブルです:)しかし、合併症がある場合、それはPITAにつながる可能性があります...

于 2011-02-16T08:02:56.247 に答える