サーバーをPostfixに移行した後、OpenDKIMを使用してDKIMを実装することにしました。これを正常にインストールして実行できましたが、milterとして有効になっていると、サーバー上のすべてのメール転送が機能しなくなります。
たとえば、james @ example.comの下にメールボックスを作成し、それを別のアドレスに転送するように設定すると(外部と内部は等しく影響を受けます)、元の送信者は次のようなメッセージを受信しました。
This is the mail system at Host server.example.com.
I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.
For further assistance, please send mail to postmaster.
If you do so, please include this problem report. You can
delete your own text from the attached returned message.
The mail system
<[email protected]>: Command rejected
Final-Recipient: rfc822; [email protected]
Action: failed
Status: 5.7.1
Diagnostic-Code: X-Postfix; Command rejected
誰か提案や経験はありますか?私はqMailにかなり精通していますが、Postfixの経験はあまりありません。これは本番サーバーであるため、アドバイスなしに問題を解決したくないと思います。
次の行が/etc/postfix.main.cf
からコメント化されると、この問題は解決されます。
### custom ###
# OpenDKIM
#milter_default_action = accept
#milter_protocol = 6
#smtpd_milters = , inet:127.0.0.1:8891, inet:127.0.0.1:12768
#non_smtpd_milters = , inet:127.0.0.1:8891, inet:127.0.0.1:12768
対応するメールログエラーは次のとおりです(これらは、上記の/etc/postfix.main.cf
コードのコメントが解除されたときに表示されます。
Sep 8 10:09:09 server postfix/cleanup[24811]: BD99260811C5: milter-reject: END-OF-MESSAGE from localhost[127.0.0.1]: 5.7.1 Command rejected; from=<[email protected]> to=<[email protected]>
Sep 8 10:09:09 server postfix/cleanup[24811]: BD99260811C5: to=<[email protected]>, relay=none, delay=0.22, delays=0.22/0/0/0, dsn=5.7.1, status=bounced (Command rejected)
ここでは、それぞれポート8891と12768でリッスンするサービスです。
[root@server ~]# netstat -anp|grep :8891
tcp 0 0 127.0.0.1:8891 0.0.0.0:* EN 25137/opendkim
[root@server ~]# netstat -anp|grep :12768
tcp 0 0 127.0.0.1:12768 0.0.0.0:* EN 33037/psa-pc-remote
完全な設定ファイルopendkim.confは ここ にあります。以下のコードは、そのトリミングされたバージョンです。
$ egrep -v '^#' opendkim.conf | egrep -v '$^'
PidFile /var/run/opendkim/opendkim.pid
Mode sv
SendReports yes
SoftwareHeader yes
Canonicalization relaxed/relaxed
Selector default
MinimumKeyBits 1024
KeyFile /etc/opendkim/keys/default.private
Syslog yes
SyslogSuccess yes
LogWhy yes
UMask 002
OversignHeaders From
KeyTable refile:/etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
ExternalIgnoreList /etc/opendkim/TrustedHosts
InternalHosts /etc/opendkim/TrustedHosts
SignatureAlgorithm rsa-sha256
AutoRestart Yes
UserID opendkim:opendkim
Socket inet:8891@localhost
私が見るところ、あなたのmilterの1つがpostfixのコマンドを処理できなかったためにあなたのメールが拒否されたようです。これはpostfixの問題ではありませんが、milterの1つが正しく動作していません。
あなたのconfでは、2つのmilterが定義されています:
2つのミルターは累積的であり、どちらが失敗の原因であるかは実際にはわからないことに注意してください。ただし、最初に問題が発生したわけではないように思われるため、後の方である可能性があります。たとえば、 この質問 を参照してください。
何らかの理由でpsa-pc-remoteが必要でない限り、このmilterを無効にして、opendkimのみを保持することを検討できます。それ以外の場合、解決策は私の専門分野外であり、質問にpleskタグを追加して、pleskのサポートに連絡することをお勧めします。