Sendmail を設定する

(PureMessageに付属して配布される sendmail をインストールするのでなく) sendmail インストールをソースから設定するには、最初に Milter サポートを使用して sendmail を構築およびインストールし、その後 sendmail を PureMessage と接続します。

Sendmail を設定するには

  1. sendmail のバージョンに適切な方法を使用して Milter サポートを構築します。Sendmail は Milter サポートと併せて構築されインストールされる必要があります。sendmail の Milter 機能の詳細については、sendmail ソースディストリビューション内の libmilter/README をご覧ください。
    • Sendmail 8.12.0 より前のバージョン

      バージョンが v8.12.0 より前の sendmail の場合、sendmail ソースの Milter サポートはデフォルトで有効設定にはなっていません。sendmail を構築する前に sendmail ディストリビューションの devtools/Site/site.config.m4 に下記の行を追加して、Milter サポートを有効にする必要があります。

      dnl Milter
      APPENDDEF(`conf_sendmail_ENVDEF', `-D_FFR_MILTER=1')
      APPENDDEF(`conf_libmilter_ENVDEF', `-D_FFR_MILTER=1')

      このファイルが存在しない場合、このファイルを作成してから、上記の行を追加します。

      バージョンが v8.12.0 より前の sendmail に関しては、sendmail.cf の作成に使用される m4 の設定ファイル (通常、sendmail.mc) の最初の部分に以下の行を追加する必要があります。sendmail.mcVERSIONID 行を見つけ、その下に以下の行を追加します。

      define(`_FFR_MILTER',`1')dnl

      引用句の始めと終わりに、バッククォート (`) とアポストロフィ (') 記号を使用していることにご注意ください。 追加されたテキストが上記例と完全に一致していることを確認します。

    • バージョン 8.12.0 以降の Sendmail

      sendmail v8.12.0 以降の sendmail では、sendmail を構築する前に、sendmail ディストリビューションの devtools/Site/site.config.m4 ファイルに以下の行を追加して、Milter サポートを有効にする必要があります。

      dnl Milter
      APPENDDEF(`conf_sendmail_ENVDEF', `-DMILTER=1')

      引用句の始めと終わりに、バッククォート (`) とアポストロフィ (') 記号を使用していることにご注意ください。 追加されたテキストが上記例と完全に一致していることを確認します。

  2. sendmail ソースをコンパイルするには、通常、sendmail ソースディストリビューションのトップディレクトリで以下のコマンドを実行します。
    % sh Build -c
  3. sendmail バイナリを OS の通常の場所 (一般に/usr/sbin/sendmail および/または/usr/lib/sendmail) へコピーし、その後、sendmail/INSTALL に記載されている指示に従って sendmail 設定ファイルを生成します。
  4. sendmail と PureMessage を接続する
    1. sendmail.mc を変更する

      PureMessage Milter は、PureMessage をインストールした場所の etc ディレクトリの pmx.conf ファイルで定義されています。メール処理に使用する各 PureMessage Milter への sendmail のアクセス方法を設定する必要があります。

      システム設定と一致する設定ファイルを sendmail/cf/cf ディレクトリから選択します。sendmail.cf を作成する前に、sendmail.mc に以下に類似した行を追加します。

      INPUT_MAIL_FILTER(`Policy', `S=inet:3366@localhost,F=T,T=C:5m;E:8m;R:4m;S:2m')

      上記の場合、PureMessage は、sendmail が実行されているホストコンピュータ上のポート 3366 を使用していることになります。PureMessage が別のホストコンピュータやポート上で実行されている場合は、localhost のホスト名を変更します (S=inet:9999@pmxhostname.foo.com など)。

      INPUT_MAIL_FILTER に割り当てられた名前 (上記例の場合、`Policy') は、sendmail が syslog でメッセージにタグを付ける際に使用されます。名前は、PureMessage Milter へ割り当てた名前と同じ名前など、任意の説明的なテキストを使用できます。Milter パラメータ設定の詳細については、ソフォス サポートデータベースの「PureMessage for UNIX: Milter パラメータを環境設定する」をご覧ください。

      Sendmail は、INPUT_MAIL_FILTER 行で指定されている順番で Milter を呼び出します。

      その後、sendmail は SMTP 接続する際は常に特定のポートとホストでフィルタへ接続します。

    2. sendmail.cf を再生成する

      sendmail.mc ファイルから sendmail.cf ファイルを再生成します。sendmail.cf ファイルを再生成するには、下記のコマンドを (ファイルへのパスを適宜変更して) 実行します。

      cd /etc/mail
      m4 sendmail_source_dir/cf/m4/cf.m4 /path/to/sendmail.mc > sendmail.cf