sendmail
Postfixのようなサーバーで見られるすべてのオーバーヘッドなしで電子メールを送信するためのツールがあるかどうか疑問に思いました。私はすでにPostfixを使用しており、設定方法などを知っています。しかし、私はsendmail
1つのサーバーから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形式のメールボックスなどで転送をスケジュールしたりできます。