
Я пытаюсь использовать postfix в качестве ретранслятора gmail.
Параметры smtp:
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_use_tls=yes
smtp_tls_CAfile = /etc/ssl/ca-certificates.crt
smtp_tls_key_file=/etc/letsencrypt/live/MYDOMAIN.com/privkey.pem
smtp_tls_cert_file=/etc/letsencrypt/live/MYDOMAIN.com/cert.pem
smtp_tls_security_level=encrypt</id_string></id_string>
Сообщение выглядит как правильно отправленное, но на самом деле почта не доставляется, а в журнале почты проблема, похоже, вызвана ошибкой TSL.
cannot load Certification Authority data, CAfile="/etc/ssl/ca-certificates.crt": disabling TLS support
warning: TLS library problem: error:02001002:system library:fopen:No such file or directory:../crypto/bio/bss_file.c:69:fopen('/etc/ssl/ca-certificates.crt','r'):
warning: TLS library problem: error:2006D080:BIO routines:BIO_new_file:no such file:../crypto/bio/bss_file.c:76:
warning: TLS library problem: error:0B084002:x509 certificate routines:X509_load_cert_crl_file:system lib:../crypto/x509/by_file.c:199:
connect to smtp.gmail.com:25: Network is unreachable
Файл ca-certificates.crt
существует по указанному пути /etc/ssl/
и уже присутствовал в дистрибутиве Debian.
Еще одна странность заключается в том, что если main.cf
я попытаюсь изменить строку
smtp_tls_CAfile = /etc/ssl/ca-certificates.crt
используя какой-то другой сертификат, ошибка
cannot load Certification Authority data, CAfile="/etc/ssl/ca-certificates.crt": disabling TLS support
остается прежним, а не указывает на имя настроенного сертификата, несмотря на то, что он используется postfix reload
, и systemctl restart postfix.service
необходимо обязательно обновить конфигурацию
Как исправить эту ошибку?
решение1
На моих машинах Debian (9, 10 и 11) путь такой ca-certificates.crt
:
/etc/ssl/certs/ca-certificates.crt
Это должно быть значение по умолчанию, я его не менял.
На моих установках postfix я даже не задавал этот smtp_tls_CAfile
параметр. Если вы установили и postfix, и пакет ca-certificates через Debian package management, то по умолчанию должен использоваться правильный файл.
решение2
Попробуйте> chmod 644 ca-certificates.crt или проверьте правильность макета для пакета сертификатов