Dovecot не может получать внешние сообщения, AddressValueError

После обновления

из dovecot-1: 2.2.10-7.el7. x86_64 до 1: 2.2.10-8.el7.x86_64
с dovecot-mysql-1: 2.2.10-7.el7.x86_64 до 1: 2.2.10-8.el7.x86_64
из dovecot-pigeonhole-1: 2.2.10-7.el7.x86_64 в 1: 2.2.10-8.el7.x86_64

Я не могу получать электронные письма с внешних почтовых адресов. Отправка писем работает нормально, а также их получение, когда они отправляются с локального почтового адреса. В / var / log / maillog у меня следующая ошибка:

Oct 30 15:11:21 hostname postfix/smtpd[28227]: connect from sonic304-22.consmr.mail.ir2.yahoo.com[77.238.179.147]
Oct 30 15:11:21 hostname postfix/smtpd[28227]: Anonymous TLS connection established from sonic304-22.consmr.mail.ir2.yahoo.com[77.238.179.147]: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)
Oct 30 15:11:21 hostname policyd-spf[28530]: Traceback (most recent call last):
Oct 30 15:11:21 hostname policyd-spf[28530]:  File "/usr/libexec/postfix/policyd-spf", line 707, in <module>
Oct 30 15:11:21 hostname policyd-spf[28530]:    instance_dict, configData, peruser)
Oct 30 15:11:21 hostname policyd-spf[28530]:  File "/usr/libexec/postfix/policyd-spf", line 419, in _spfcheck
Oct 30 15:11:21 hostname policyd-spf[28530]:    res = spf.check2(ip, helo_fake_sender, helo, querytime=configData.get('Lookup_Time'))
Oct 30 15:11:21 hostname policyd-spf[28530]:  File "/usr/lib/python2.7/site-packages/spf.py", line 297, in check2
Oct 30 15:11:21 hostname policyd-spf[28530]:    receiver=receiver,timeout=timeout,verbose=verbose,querytime=querytime).check()
Oct 30 15:11:21 hostname policyd-spf[28530]:  File "/usr/lib/python2.7/site-packages/spf.py", line 378, in __init__
Oct 30 15:11:21 hostname policyd-spf[28530]:    self.set_ip(i)
Oct 30 15:11:21 hostname policyd-spf[28530]:  File "/usr/lib/python2.7/site-packages/spf.py", line 405, in set_ip
Oct 30 15:11:21 hostname policyd-spf[28530]:    self.ipaddr = ipaddress.ip_address(i)
Oct 30 15:11:21 hostname policyd-spf[28530]:  File "/usr/lib/python2.7/site-packages/ipaddress.py", line 163, in ip_address
Oct 30 15:11:21 hostname policyd-spf[28530]:    ' a unicode object?' % address)
Oct 30 15:11:21 hostname policyd-spf[28530]: AddressValueError: '77.238.179.147' does not appear to be an IPv4 or IPv6 address. Did you pass in a bytes (str in Python 2) instead of a unicode object?
Oct 30 15:11:21 hostname postfix/spawn[28087]: warning: command /usr/libexec/postfix/policyd-spf exit status 1
Oct 30 15:11:21 hostname postfix/smtpd[28227]: warning: premature end-of-input on private/policy-spf while reading input attribute name

Есть идеи, в чем причина ошибки?

0
задан 30 October 2017 в 19:16
1 ответ

Я решил проблему. Как указано в комментариях, соответствующий отчет об ошибке - https://bugs.centos.org/view.php?id=12393 .

Исправление, представленное в комментарии автор: Yohei TOMIYAMA, у меня работает

Прежде чем исправлять, убедитесь, что это та же ошибка. Следующие версии пакетов должны соответствовать:

yum list installed | grep pypolicyd-spf
pypolicyd-spf.noarch   1.3.2-2.el7   @epel

yum list installed | grep python-ipaddress
python-ipaddress.noarch   1.0.16-2.el7  @base

Пакет python-ipaddress может потребоваться только для pypolicyd-spf, иначе это исправление приведет к поломке всего остального. Вы можете проверить это с помощью

rpm -q --whatrequires python-ipaddress
pypolicyd-spf-1.3.2-2.el7.noarch

Теперь исправление:

rpm -e --nodeps python-ipaddress
vim /usr/libexec/postfix/policyd-spf

В строке 40 измените строку следующим образом:

- import ipaddress
+ import ipaddr as ipaddress

Вот и все. В зависимости от конфигурации почтового провайдера они повторяют отправку почты через определенные промежутки времени. Примерно через час будет получена большая часть недостающих писем.

Как упоминалось выше, спасибо Yohei TOMIYAMA за предоставление этого исправления.

0
ответ дан 5 December 2019 в 07:11

Теги

Похожие вопросы