Linux配置 - ssmtp:无法打开smtp.gmail.com:587

Cha*_*ani 9 linux gmail ssmtp mailx

嗨,我在RHS5上安装了ssmtp ssmtp-2.61-22.el5.i386.rpm

我的/etc/ssmtp/ssmtp.conf更新如下: -

AuthUser=mymail@gmail.com
AuthPass=mypassword
FromLineOverride=YES
mailhub=smtp.gmail.com:587
UseSTARTTLS=YES
UseTLS=Yes
RewriteDomain=gmail.com
Run Code Online (Sandbox Code Playgroud)

还重新评估如下:

root:mymail@gmail.com:smtp.gmail.com:587
Run Code Online (Sandbox Code Playgroud)

我有关闭sendmail服务

当我尝试使用ssmtp发送电子邮件时,我得到以下错误

[root@ctmtest ssmtp]# echo "test" | ssmtp -vvv mymail@gmail.com
[<-] 220 smtp.gmail.com ESMTP v26sm42795996pfi.56 - gsmtp
[->] EHLO ctmtest
[<-] 250 SMTPUTF8
[->] STARTTLS
[<-] 220 2.0.0 Ready to start TLS
ssmtp: Cannot open smtp.gmail.com:587
Run Code Online (Sandbox Code Playgroud)

我用这个错误搜索了很多标签,但无法解决这个问题

我的系统能够在端口587上连接smtp.gmail.com

[root@ctmtest ssmtp]# telnet smtp.gmail.com 587
Trying 74.125.200.108...
Connected to smtp.gmail.com (74.125.200.108).
Escape character is '^]'.
220 smtp.gmail.com ESMTP o90sm11695907pfi.17 - gsmtp
Run Code Online (Sandbox Code Playgroud)

有人修过这个吗?请建议

小智 14

我遇到了同样的问题.以下步骤对我有用:

  1. sudo vi /etc/ssmtp/ssmtp.conf添加以下内容:

TLS_CA_FILE=/etc/pki/tls/certs/ca-bundle.crt root=XXXX@gmail.com mailhub=smtp.gmail.com:587 AuthUser=XXXX AuthPass=XYXYX UseSTARTTLS=Yes UseTLS=Yes hostname=AAAA

替换:XXXX-用户名(邮件)XYXYX-密码(邮件密码)AAAA-主机名(通过运行$ hostname得到)

  1. sudo vi/etc/ssmtp/revaliases添加以下内容:

root:XXXX@gmail.com:smtp.gmail.com:587

替换:XXXX - 用户名(邮件)

  1. 尝试立即运行邮件:

    $mail -s "adasdas" XXXX@gmail.com

    CC:XYZLoremIpsum. 'CTRL + d'

它解决了我的问题.希望对于系统(Office),您需要配置正确的代理设置,否则您将收到错误:

无法发送消息:进程以非零状态退出

  • 这也解决了我的问题;特别是,在最近外发邮件停止工作后,我必须在我的 Arch Linux 系统上添加“TLS_CA_FILE=/usr/share/ncat/ca-bundle.crt”行。 (2认同)

小智 5

尝试更改此选项

允许安全性较低的应用访问您的帐户

https://support.google.com/accounts/answer/6010255?hl=en


Sam*_*son 5

这可能是因为你没有设置hostname参数ssmtp.conf.它应该是一个可解析的,完全合格的域名; 你的默认值是机器名称ctmtest(如EHLO上面引用的命令所示).

user963 在他们的回答中提到的问题也可能在这里有效,但在这种情况下,你会得到一个不同的错误信息,例如ssmtp: Authorization failed (534 5.7.14 ...).