После обновления
из голубь-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
из голубятня-голубь-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.
Исправление, представленное в комментарий Йохеи Томияма работает на меня.
Прежде чем исправить это, убедитесь, что это та же ошибка. Следующие версии пакетов должны соответствовать:
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 за предоставление этого исправления.