Я настроил свою систему для отправки электронной почты через Gmail.
Система работает настолько, насколько я могу отправлять электронные письма, однако я получаю сообщение об ошибке в отношении защищенного сертификата.
Это пример записи в mail.log:
Oct 29 12:17:27 durban postfix/smtp[20742]: setting up TLS connection
to smtp.gmail.com[209.85.143.108]:587
Oct 29 12:17:27 durban postfix/smtp[20742]: certificate verification
failed for smtp.gmail.com[209.85.143.108]:587: untrusted issuer
/C=US/O=Equifax/OU=Equifax Secure Certificate Authority
Oct 29 12:17:27 durban postfix/smtp[20742]: Untrusted TLS connection
established to smtp.gmail.com[209.85.143.108]:587: TLSv1 with cipher
RC4-SHA (128/128 bits)
Oct 29 12:17:29 durban postfix/smtp[20742]: BA4852A1BFA:
to=<some@email.com>, relay=smtp.gmail.com[209.85.143.108]:587,
delay=2.9, delays=0.1/0.1/1.3/1.4, dsn=2.0.0, status=sent (250 2.0.0
OK 1319887049 l20sm20686943wbo.6)
Я погуглил эту проблему и нашел других с этой проблемой, которые смогли ее решить, обновив файл cacert.pem в Каталог / etc / postfix.
В моем main.cf у меня есть следующая строка (среди прочих):
smtpd_tls_CAfile=/etc/postfix/cacert.pem
У меня есть этот файл:
-rw-r--r-- 1 root root 2298 2011-10-29 12:16 cacert.pem
Я заполнил этот файл командами: [ 1110]
# cat /usr/lib/ssl/certs/Equifax_Secure_CA.pem >> /etc/postfix/cacert.pem
# cat /usr/lib/ssl/certs/Thawte_Premium_Server_CA.pem >>
/etc/postfix/cacert.pem
Я считаю, что первой строки должно быть достаточно, а вторая строка (сертификат) - это старый, более не используемый (по Google) сертификат.
Я не знаю, что еще я могу изменить, и понятия не имею, что еще искать или какие файлы журналов проверять.
Любые намеки приветствуются.
У меня была та же проблема, и когда я выпустил «postconf | grep smtp | grep CA», все переменные были пустыми: smtp_tls_CAfile = smtp_tls_CApath = smtpd_tls_CAfile = smtpd_tls_CApath =
Вот как я это исправил;
Я предполагаю, что ваша установка Ubuntu создала путь CA, который содержит все известные CA в Интернете: / etc / ssl / certs, и Equifax там.
Все, что вам не хватает в вашей конфигурации Postfix, это CApath : smtp_tls_CApath = / etc / ssl / certs
После этого Postfix сможет проверить сертификат smtp.gmail.com как легальный CA, потому что он находится в каталоге / etc / ssl / certs.
У меня была похожая проблема, которую я исправил с помощью этого поста .
Средство, по-видимому, заключалось в том, что мне просто нужен действительный сертификат SSL (не самозаверяющий), и я объединил пакеты StartSSL и Equifax CA вместе.
У меня такая же конфигурация, как и у вас. Но в дополнение к
smtpd_tls_CAfile=/etc/postfix/cacert.pem
у меня также есть в моем постфиксе main.cf
:
smtp_tls_CAfile=/etc/postfix/cacert.pem
Попробуйте добавить эту дополнительную строку. Возможно, вам придется добавить его как часть этого блока:
smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_tls_cert_file = /etc/postfix/FOO-cert.pem
smtp_tls_key_file = /etc/postfix/FOO-key.pem
smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_tls_session_cache
smtp_use_tls = yes
Я думаю, ваша проблема в том, что вы устанавливаете smtpd_tls_CAfile
вместо smtp_tls_CAfile
.
Вы можете использовать самозаверяющий сертификат для вашей конфигурации постфикса TLS.