SMTPを使用してメッセージを転送したり、SMTPが失敗したときにファイルに置き換えたりできるsendmailツールを提供するLinuxパッケージはUbuntuにありますか?

SMTPを使用してメッセージを転送したり、SMTPが失敗したときにファイルに置き換えたりできるsendmailツールを提供するLinuxパッケージはUbuntuにありますか?

sendmailPostfixのようなサーバーで見られるすべてのオーバーヘッドなしで電子メールを送信するためのツールがあるかどうか疑問に思いました。私はすでにPostfixを使用しており、設定方法などを知っています。しかし、私はsendmail1つのサーバーからPostfixを実行しているサーバーに電子メールを送信するための簡単なコマンドラインツールを探しています。

だから...私はクラウドで複数のマシンクラスタを実行しています。マシンの1つにPostfixがインストールされ、魅力的に動作しました。システムデータベースにデータを保存し、バックグラウンドタスクを介してそのデータをインポートし、特定のシステムのPostfixに転送することで、どのフロントエンドでも電子メールを送信できます。だから私たちのソフトウェアが処理されました。データベースが動作し、メールシステムのバックエンドが動作し、Postfixが動作すると仮定します。すべてが所定の位置にある場合、電子メールは期待どおりに流れ始めます(私たちはこれらの2つを持っています)。インストールし、すべてがうまく動作します)素晴らしいです。 )

これで、これらのクラウドインスタンスは、CRONタスクと最終的に電子メールを送信できる(または少なくとも試すことができる)他のサブシステムも実行します。既定では、このコンピューターにはMTAがインストールされていないため、この操作は失敗します。

私が探しているのはこれを行う方法です。

prompt$ sendmail [email protected]
From: [email protected]
Subject: Problem Report

Here we go, the problem is that I don't want Postfix on  each machine.
.

sendmailまた、Postfixを実行しているコンピュータ(現在ダウンしている可能性があります)に接続できない場合は、電子メールが失われないように設定したいと思います。代わりにファイルに保存されます。たとえば、/var/mail/root

もちろん、他のサーバーを運営したくありません。sendmail私は電子メールを送信するたびに実行されるコマンドラインツールになりたいです。それはすべてです。

Linux Ubuntuにも似たものはありますか?

答え1

私の考えでは、Postfixの実行に関連する「すべてのオーバーヘッド」を過度に過大評価しているようです。これは問題を解決するようです。中央メーラーのバックアップ中、メッセージはキューに追加され、配信されます。 Postfixではほとんど設定は必要ありません。

「もっと簡単な」ことをしたい場合は、以下があります。空の郵便物しかし、これにはメッセージキューを処理するために「サーバー」を実行することが含まれているため、新しいソフトウェアを学ぶ必要があることを除いて、実際にはpostfixと同じです。

次のようなものを使用して自分で作成できます。メール転送プロトコル、メッセージキューなどを処理しませんが、シェルスクリプトでラップして失敗した場合にメッセージをメールボックスに保存できます。それは次のとおりです。

cat >> $tmpfile <<EOF
From: [email protected]
Subject: Problem Report

Here we go, the problem is that I don't want Postfix on  each machine.
EOF

if ! msmtp < $tmpfile; then
  echo "Send failed; saving to mbox."
  cat $tmpfile >> /path/to/mailbox
fi

上記のロックを追加したり、Maildir形式のメールボックスなどで転送をスケジュールしたりできます。

関連情報