我已经设置我的系统通过 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=<[email protected]>, 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)
我在 Google 上搜索了这个问题,发现其他遇到这个问题的人都能够通过更新 /etc/postfix 目录中名为 cacert.pem 的文件来解决这个问题。
在我的 main.cf 中,我有以下行(其中包括):
smtpd_tls_CAfile=/etc/postfix/cacert.pem
我有这个文件:
-rw-r--r-- 1 root root 2298 2011-10-29 12:16 cacert.pem
我使用以下命令填充了此文件:
# 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
我相信第一行就足够了,第二行(证书)是不再使用的旧证书(由谷歌使用)。
我不知道还能改变什么,也不知道还要搜索什么或检查哪些日志文件。
任何提示都值得赞赏。
答案1
我遇到了同样的问题,当我发出“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 配置中缺少的是路径分析: smtp_tls_CApath = /etc/ssl/certs
之后,Postfix 将能够验证 smtp.gmail.com 的证书是否为合法 CA,因为它在 /etc/ssl/certs 目录中有该证书。
答案2
我认为您的问题是您设置的smtpd_tls_CAfile
不是smtp_tls_CAfile
。
您可以使用自签名证书进行 Postfix TLS 配置。
答案3
我的配置和你一样。但除了
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
答案4
我遇到了类似的问题,在以下帮助下解决了该问题这篇博文。
补救措施似乎是我只需要一个有效的 SSL 证书(而不是自签名证书),然后我将 StartSSL 和 Equifax CA 捆绑在一起。