Dovecot nie może odbierać poczty zewnętrznej, AddressValueError


Po aktualizacji

z

gołąb-1: 2.2.10-7.el7.x86_64

do

1: 2.2.10-8.el7.x86_64


z

dovecot-mysql-1: 2.2.10-7.el7.x86_64

do

1: 2.2.10-8.el7.x86_64


z

dovecote-dove-1: 2.2.10-7.el7.x86_64

do

1: 2.2.10-8.el7.x86_64
Nie mogę odbierać e-maili z zewnętrznych adresów e-mail. Wysyłanie e-maili działa dobrze, podobnie jak odbieranie ich, gdy są wysyłane z lokalnego adresu pocztowego. W/var/log/maillog mam następujący błąd:
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

Jakieś pomysły, co jest przyczyną błędu?
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Naprawiłem mój problem. Jak wskazano w komentarzach, odpowiedni raport o błędzie

https://bugs.centos.org/view.php?id=12393
https://bugs.centos.org/view.php?id=12393
.
Poprawka dostarczona w

komentarz
https://bugs.centos.org/view.php?id=12393#c30486
Yohei Tomiyama pracuje dla mnie.
Zanim to naprawisz, upewnij się, że jest to ten sam błąd. Następujące wersje pakietów muszą być zgodne:
yum list installed | grep pypolicyd-spf
pypolicyd-spf.noarch 1.3.2-2.el7 @epelyum list installed | grep python-ipaddress
python-ipaddress.noarch 1.0.16-2.el7 @base

Pakiet python-ipaddress może być wymagany tylko dla pypolicyd-spf, w przeciwnym razie ta poprawka zepsuje wszystko inne. Możesz to sprawdzić za pomocą
rpm -q --whatrequires python-ipaddress
pypolicyd-spf-1.3.2-2.el7.noarch

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

W linii 40 zmień linię w następujący sposób:
- import ipaddress
+ import ipaddr as ipaddress

To wszystko. W zależności od konfiguracji dostawcy poczty będą ponawiać próby wysyłania poczty w regularnych odstępach czasu. Za około godzinę otrzymasz większość brakujących e-maili.
Jak wspomniano powyżej, dziękuję Yohei TOMIYAMA za dostarczenie tej poprawki.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się