linux ssmtp 错误无法打开 smtp.gmail.com:587

linux ssmtp 错误无法打开 smtp.gmail.com:587

我无法通过 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 服务器希望您既礼貌又尊重标准,因此在此字段中仅输入电子邮件是不够的。

相关内容