Postfix がエラー後に機能を停止します:"ct-milter: Too many open files"

Created:

2016-11-16 13:24:39 UTC

Modified:

2017-05-16 11:09:27 UTC

0

Was this article helpful?


Have more questions?

リクエストを送信

Postfix がエラー後に機能を停止します:"ct-milter: Too many open files"

症状

Postfix が正しく機能しません。 /usr/local/psa/var/log/maillog ログに、以下のエラーが表示されます。

postfix/smtpd[19989]: NOQUEUE: milter-reject: CONNECT from example.com[192.168.0.1]: 451 4.7.1 Service unavailable - try again later; proto=SMTP

以下のエラーも表示されます。

ct-milter[2865]: open(/tmp//ctmiWleY2L): Too many open files
postfix/smtpd[19989]: warning: milter unix:/var/spool/postfix/ctmilter/ctmilter.sock: can't read SMFIC_OPTNEG reply packet header: Connection timed out
postfix/smtpd[19989]: warning: milter unix:/var/spool/postfix/ctmilter/ctmilter.sock: read error in initial handshake

原因

ct-milter デーモンが、ファイルのオープン上限まで達しました。

解決策

  1. 以下の行を /etc/init.d/ctasd_initd ファイルに追加して、上限を ctasd スクリプトで増加します。

    ULIMIT="-n 4096"
  2. /etc/init.d/pc-remote のサービスステータスをチェックします。停止している場合、以下を使用して起動します。

    /etc/init.d/pc-remote start
  3. 問題が解消しない場合、キュー投入前メールフィルタを無効にします。

    注: キュー投入前メールフィルタを無効にすると、Kaspersky、DrWeb チェック、DomainKeys、Greylisting、SPF、quota-check、Kaspersky Antivirus、Autoresponder、SpamAssasin などの機能が無効になります。

    キュー投入前メールフィルタを無効にするには、 /etc/postfix/main.cf ファイルで、以下の行を

    smtpd_milters = inet:localhost:12768
    non_smtpd_milters = inet:localhost:12768

    以下のように変更します。

    #smtpd_milters = inet:localhost:12768
    #non_smtpd_milters = inet:localhost:12768

    次に、postfix を再起動します。

    # /etc/init.d/postfix restart
他にご質問がございましたら、リクエストを送信してください
ログインしてコメントを残してください。