web-dev-qa-db-ja.com

Postfixをnullクライアントとして設定しますか?

私はpostfixをnullクライアントとして設定するのに少し問題があり、いくつか質問があります。

SMTPを使用することを目指します。これは、ほとんどのWebアプリケーションが電子メールサーバーに接続する方法として使用するものだからです。

目標は、Webアプリケーションからの電子メール通知およびマシン上の監視ソフトウェアに使用することです。

  1. SASLやTLSのようなものが必要ですか?私のWebアプリケーションと電子メールサーバー間の接続を暗号化することは、それらが同じボックス上にある場合は役に立たないようです。
  2. どのユーザーとしてSMTPサーバーに接続する必要がありますか?私はもともと日常の活動に使用しているユーザーアカウントを使用していましたが、Webアプリケーションがクラックされた場合、ログイン情報が大量にあるため、これはひどい悲鳴を上げます。また、シェルであるため/ usr/sbin/nologinを使用してユーザーを作成しようとしましたが、これも機能しませんでした(ユーザーがシェルにアクセスできないことをお勧めします)。

これを行う際に考慮すべき他のことはありますか?

1

あなたが求めているのは、同じマシン上のWebアプリケーションから生成した電子メールをメールサーバーに受け入れて、最終的な宛先に配信させる方法だと思いますか? 「nullクライアント」とあなたの説明は私には一緒に意味をなさないので、私は完全にはわかりません。

とにかく、これが通常行われる方法は、接尾辞で「mynetworks」に「127.0.0.1」を含めるように設定し、Webアプリケーションを「127.0.0.1」に接続して電子メールを送信することです。 「mynetworks」にリストされているホストからのメールは、Postfixサーバーが直接処理するユーザー名にのみメールを送信する機能に制限がないため、Webアプリケーションに通常のメールアカウントやその他の外部メールを送信させることができます。ユーザー。

mynetworksには通常127.0.0.1が含まれているため、これがデフォルト構成である可能性があります。

したがって、「postconfmynetworks」を使用して現在の値を確認してください。 /etc/postconf/main.cfを変更するか、「postconf」を使用して値を変更してから、postfixを再起動します。それでもメールが機能しない場合は、ログを確認してください。

0

Nullクライアントの設定の正規リファレンスは次のとおりです: http://www.postfix.org/STANDARD_CONFIGURATION_README.html#null_client

Nullクライアントは、ローカルホスト上でも、着信TCP接続をリッスンしないため、SASLとTLSはローカルで必要ありません。

Webアプリケーションはsendmailインターフェースを使用できます。これは、パイプをmail(mailxの一部のバリアントである可能性が高い)に使用する場合に内部で取得されるものでもあります。 sendmailは実際にはpostfixによって提供されますが、標準になった古いsendmailインターフェースのドロップインを提供します。ほとんどのWebメール送信ライブラリはsendmailと通信しますが、他のオプションもある場合があります。

TLS、SASL、および使用するメールリレーへの発信接続に使用するユーザーと認証について心配する必要があるかもしれませんが、nullクライアントのポイントは基本的に未構成であり、そのようなものが必要な場合は、次のことを考慮してください。 nullクライアントが実際には必要なものではないか、postmultiを使用して同じボックスで個別の送信メールリレーを使用できます。

3
mc0e

Postfixはメール転送エージェントであり、メールユーザーエージェント(クライアント)ではありません。他のSMTPサーバーにメールを送信しますか、それともIMAPまたはPOP経由でアクセスするためにメールをスプールしますか?私の推測では、アラートメールを会社のメールサーバーに中継する必要があります。

ちなみに、Postfixはやり過ぎかもしれません。/usr/bin/mailまたはmailxを使用して、Logwatchレポートなどをメールで送信できます。

0
Matt Herzog