После обновления
из 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
Есть идеи, в чем причина ошибки?
Я решил проблему. Как указано в комментариях, соответствующий отчет об ошибке - 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 за предоставление этого исправления.