我无法通过 gmail.com 路由电子邮件。我使用 ssmtp 工具。我的 /etc/ssmtp 配置文件是
root:[email protected]:smtp.gmail.com:587
maciek:[email protected]:smtp.gmail.com:587
和 ssmtp.conf:
rewriteDomain=gmail.com
[email protected]
[email protected]
[email protected]
UseTLS=YES
UseSTARTTLS=YES
[email protected]
AuthPass=MyPass
FromLineOverride=YES
所以我尝试:
# mail [email protected]
Subject: ddd
ddd
.
EOT
# send-mail: Cannot open smtp.gmail.com:587
没有什么阻止到 Gmail 服务器的流量,如下所示:
$ telnet smtp.gmail.com 587
Trying 173.194.70.108...
Connected to smtp.gmail.com.
Escape character is '^]'.
220 mx.google.com ESMTP n1sm56130900eep.20 - gsmtp
ehlo
250-mx.google.com at your service, [83.25.153.55]
250-SIZE 35882577
250-8BITMIME
250-STARTTLS
250-ENHANCEDSTATUSCODES
250 CHUNKING
quit
221 2.0.0 closing connection n1sm56130900eep.20 - gsmtp
Connection closed by foreign host.
来自我的系统 journalctl 的日志:
Dec 11 22:45:55 piotr sSMTP[7571]:
Creating SSL connection to host Dec 11 22:45:55 piotr sSMTP[7571]:
SSL not working: certificate verify fail...0) Dec 11 22:45:55 piotr sSMTP[7571]:
Cannot open smtp.gmail.com:587
这台计算机上没有安装其他 MTA 代理(如 sendmail)。那么我配置错了什么?
答案1
您是否检查过您的 selinux 是否已启用?
此外,您可能需要此选项:
- TLS_CA_目录
- 如果需要,用于验证服务器的可信证书目录。
基本上告诉您的系统您的 CA 证书在哪里,这样它就不会认为 Gmail 具有无效证书。
答案2
AuthMethod=LOGIN
您需要在 /etc/ssmtp/ssmtp.conf 中添加上述配置
答案3
我将其更改为我的 Raspberry 的本地 IP,然后它突然就起作用了。看来 Gmail 服务器希望您既礼貌又尊重标准,因此在此字段中仅输入电子邮件是不够的。