我一直在使用configurationPostfix来通过端口587发送/转发电子邮件Gmail(smtp.gmail.com)来试图让Postfix和Gmail之间的连接正常工作。 说明很清楚。 做完select的答案后 ,我在我的maillog中得到这个错误:
Dec 12 08:45:00 stiltify postfix/smtp[21745]: certificate verification failed for smtp.gmail.com: num=20:unable to get local issuer certificate Dec 12 08:45:00 stiltify postfix/smtp[21745]: certificate verification failed for smtp.gmail.com: num=27:certificate not trusted Dec 12 08:45:00 stiltify postfix/smtp[21745]: warning: SASL authentication failure: No worthy mechs found Dec 12 08:45:00 stiltify postfix/smtp[21745]: 6BC962B58006: to=<[email protected]>, relay=smtp.gmail.com[74.125.93.109]:587, delay=0.27, delays=0.05/0.01/0.21/0, dsn=4.7.0, status=deferred (SASL authentication failed; cannot authenticate to server smtp.gmail.com[74.125.93.109]: no mechanism available)
寻找一个类似的情况,我发现Postfix的“SASLauthentication失败:没有find有价值的机制” ,但看到所选答案的细节,它有点不同,我认为这意味着发送服务器不信任Gmail的证书:
untrusted issuer /C=US/O=Equifax/OU=Equifax Secure Certificate Authority
所以在这里,我再一次遇到邮件问题,需要你的帮助。
提前致谢!
这听起来像潜在的2个不同的问题可能在眼前。 现在我已经为通过Gmail转发的问题提供了答案,而我在Ubuntu笔记本电脑configuration(而不是CentOS)上完成了这个工作,我不幸没有CentOS机器来方便testing。
这听起来像以下可能造成的问题。
检查以确保安装了SASL二进制文件和库。 在我的Ubuntu / Debian机器上,这将包括libsasl2-2和libsasl2-modules软件包。 后者实际上提供了SO SASL模块,而前者提供了SASL DB库。
检查是否安装了可信的CA根链证书。 在我的Ubuntu / Debian机器上,我安装了安装已知根级CA证书的CA ca-certificate包,并允许我build立一个CA证书链,validation由已知CA签名的证书。
检查我的Ubuntu笔记本电脑后更新添加…证书问题实际上是一个非关键的问题,所以项目#2可能没有错,因为我自己得到相同的条目,但邮件发送成功,这将更多地倾向于项目#1导致失败发送。
Dec 12 07:51:56 solitare postfix/smtp[17525]: setting up TLS connection to smtp.gmail.com[74.125.67.109]:587 Dec 12 07:51:56 solitare postfix/smtp[17525]: certificate verification failed for smtp.gmail.com[74.125.67.109]:587: untrusted issuer /C=US/O=Equifax/OU=Equifax Secure Certificate Authority Dec 12 07:51:56 solitare postfix/smtp[17525]: Untrusted TLS connection established to smtp.gmail.com[74.125.67.109]:587: TLSv1 with cipher RC4-MD5 (128/128 bits) Dec 12 07:51:58 solitare postfix/smtp[17525]: 41C7212823B: to=<root@****>, orig_to=<root>, relay=smtp.gmail.com[74.125.67.109]:587, delay=2.4, delays=0.22/0.01/0.62/1.5, dsn=2.0.0, status=sent (250 2.0.0 OK 1292158318 b27sm3067589ana.28)
解决了Amazon EC2上的一个CentOS 5.4实例并查看了一下…结合CentOS上的#1项目,我会查看是否至less安装了以下软件包: cyrus-sasl-lib , cyrus-sasl-plain和cyrus-sasl …还有其他的cyrus-sasl-*软件包提供单独的SASL模块,如果你需要的话,但是-lib和-plain应该是最基本的基础。
我的CentOS安装有同样的问题,我通过安装cyrus-sasl-plain来解决它。
我不认为gmail的证书有什么问题,因为正如你上面所说的,它是由equifax 1发布的。
我不是一个后缀的人,但通常的原因是validation的工具 – 在这种情况下,后缀 – 没有“证书包” – 公理化信任的集合certificate了该工具用于validation呈现给它的证书链。 Sendmail(我使用)具有以下m4configuration行来指向它:
define(`confCACERT', `/etc/pki/tls/certs/ca-bundle.crt')dnl
寻找类似于后缀的东西。
好的,好吧,它声称是由equifax发出的; 但实际上,根据我的证书包:
[madhatta@risby ~]$ openssl s_client -starttls smtp -connect smtp.gmail.com:587 CONNECTED(00000003) depth=2 C = US, O = Equifax, OU = Equifax Secure Certificate Authority verify return:1 depth=1 C = US, O = Google Inc, CN = Google Internet Authority verify return:1 depth=0 C = US, ST = California, L = Mountain View, O = Google Inc, CN = smtp.gmail.com verify return:1 [...]