実稼働中の Rails アプリケーションは、smtp または sendmail を使用してメールを送信する必要がありますか?
4 に答える
SMTP は、ほぼすべてのインターネット ホストがメールを送信するために使用するプロトコルです。このプロトコルは sendmail によって話されます。Sendmail は、メッセージの送信先と送信方法を決定します。
一部のメール プログラム (現在のほとんど) は、メール サーバーに直接接続し、SMTP を使用します。ただし、「従来の」方法 (そして議論の余地があるより良い方法) は、sendmail に任せることです。
これには 2 つの理由があります。1) sendmail と同じことを行う UNIX のほとんどすべてのプログラムは、ドロップイン置換として設計されています (たとえば、 PostfixとEximが含まれます)。2) sendmail またはその代替は、メールのみを処理するように設計されています。sendmail を使用すると、SMTP クライアントを設計する必要がありません。
UNIX 用の Mutt 電子メール クライアントは、SMTP をメール サーバーに直接送信することをまだ拒否している電子メール クライアントの 1 つです。適切な (技術的な) 説明はwikiにあります。
SMTP を直接使用するか、sendmail を使用するか (いずれにせよ UNIX 上で) 選択できる場合は、sendmail を使用してください (特にサーバーでは)。
あなたの質問は間違っています。SMTP は Simple Mail Transfer Protocol の略で、sendmail はこのプロトコルを使用してメールを送信するためのソフトウェアです。
sendmail を使用します。
どちらも正常に動作します。アクションメーラーは両方をサポートします。
私はいくつかのプロジェクトでSMTPをうまく使用しました。これはもう少し「標準」だと思いましたが、間違っているかもしれません。
sendmailを使用したことはありません。私の懸念は、Unix / Linuxで直接開発していない場合、開発環境でのセットアップが難しいかもしれないということです。任意のSMTPサーバー(リモートサーバーであっても)と直接通信できる場合は、それを機能させるためにRailsマシンにsendmailをインストールする必要があります。
私が電子メールで遭遇する主な問題は、メッセージを非同期に送信することです。ローカルSMTPサーバーがない場合、ローカルsendmailインスタンスのパフォーマンスが向上します。
いずれにせよ、間違った選択をした場合は、切り替えるのは非常に簡単に見えます。