openDKIM прекращает пересылку электронной почты

Переместив наш сервер на Postfix, я решил внедрить DKIM с использованием OpenDKIM. Я успешно смог установить и запустить его, но пока он включен как все, пересылка почты на сервере не работает.

Например, если я создаю почтовый ящик по адресу 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

<accounttobeforwardedto@example.com>: Command rejected

Final-Recipient: rfc822; accounttobeforwardedto@example.com
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=<originalsender@gmail.com> to=<forwardaddress@gmail.com>
Sep  8 10:09:09 server postfix/cleanup[24811]: BD99260811C5: to=<forwardaddress@gmail.com>, 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

1 ответ

Решение

Из того, что я вижу, кажется, что ваши письма были отклонены из-за того, что один из ваших milter не смог обработать команды postfix. Это не проблема с постфиксом, но один из ваших milter не ведет себя должным образом.

В вашем сообщении определены два milters:

  • Один порт 8891, который является опендким
  • Один порт 12768, который является psa-pc-remote

Обратите внимание, что эти два показателя накапливаются, и что мы на самом деле не знаем, какой из них является причиной сбоя. Тем не менее, мне кажется, что это более поздняя версия, поскольку вы, похоже, не первые испытываете проблемы с ней. Смотрите этот вопрос, например.

Если вам не нужен psa-pc-remote по какой-либо причине, вы можете отключить этот milter и сохранить только opendkim. В противном случае решение выходит за рамки моей компетенции, и все, что я могу вам посоветовать, - это добавить тег plesk к вашему вопросу и попытаться связаться со службой поддержки plesk.

Другие вопросы по тегам