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

时间:2016-02-01 12:06:04

标签: linux gmail mailx ssmtp

您好RHEL5上安装了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

还将重新评估更新如下:

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

我已关闭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

我搜索了很多带有此错误的标记,但无法解决此问题

我的系统可以在端口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

有没有人修好过这个?请建议

8 个答案:

答案 0 :(得分:10)

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

  1. sudo vi / etc / ssmtp / ssmtp.conf 添加以下内容:
  2. 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 添加以下内容:
    2. root:XXXX@gmail.com:smtp.gmail.com:587

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

      1. 立即尝试运行邮件:

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

        CC: XYZLoremIpsum 。 的 'CTRL + d'

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

          

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

答案 1 :(得分:5)

尝试更改此选项

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

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

答案 2 :(得分:5)

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

user963 mentions在他们的回答中的问题也可能在这里发挥作用,但在这种情况下,您将收到不同的错误消息,例如EHLO

答案 3 :(得分:1)

首先在终端获取主机名类型:hostname

将其复制并过去ssmtp.conf中的hostname参数

答案 4 :(得分:0)

在我的Gentoo Linux系统上,错误ssmtp: Cannot open smtp.server.com:port是由于所有权/权限问题引起的:文件/etc/ssmtp/ssmtp.conf应该属于组ssmtp,但不是(并且任何允许访问ssmtp的用户都应该是该组的成员。

答案 5 :(得分:0)

我正在寻找仙人掌smtp邮件发件人的解决方案。 发现自己实际上是使用postfix服务发送电子邮件的。 我还在postfix配置中使用了localhost。 谢谢!

答案 6 :(得分:0)

这应该是对海德尔·拉扎(Haider Raza)回答的评论,但我对评论大声笑还不足1分。

来自https://superuser.com/questions/431539/special-characters-in-ssmtp-password

ssmtp在解析包含“ =”,“:”或“#”的密码时存在错误。您可以使用以下解决方法:

直接在命令行参数中输入密码

ssmtp -ap“ Hash#Password” ...

或者将密码放在环境变量中。

ssmtp -ap $ PASSWD ...

希望有帮助。

答案 7 :(得分:-1)

邮件功能都被破坏,互联网上的众多教程也是如此。

这很糟糕,因为对于BEGINNERS来说,这很容易

您将面临的一些不清楚的错误:

mailx: unrecognized option '-d'
? 
mailx: unrecognized option '-v'
?
s-nail: Setting up PseudoRandomNumberGenerator: *SSL RAND_*
s-nail: New-style URL used without *v15-compat* being set
/home/you/dead.letter 3/106
s-nail: ... message not sent
? 
s-nail: Connecting to XX.XX.XX.XXX:465 ... connected.
s-nail: SMTP: Resource temporarily unavailable
?
s-nail: Obsoletion warning: Use of old-style credentials, which will vanish in v15!
?
s-nail: Obsoletion warning: please don't use *smtp*: assign a smtp:// URL to *mta*!
? 
s-nail: Unexpected EOF on SMTP connection
???

否,发送任何简单邮件都不需要任何凭据。

步骤1 :安装mail-utils

sudo apt install mailutils

第2步:安装Mutt

sudo apt install mutt

第3步:运行后缀设置

sudo dpkg-reconfigure postfix

按TAB键选择“确定”

enter image description here

选择“ Internet站点”

enter image description here

输入您的域名或其他任何内容

enter image description here

将所有其他设置保留为默认设置。 (按RETURN直到结束)

然后将通过以下电子邮件发送邮件: yourCurrentsession@whatever.com

第4步:应用设置

service postfix reload

第5步:发送电子邮件

echo "Hello world"  | mutt -s "Message sent at $(date)" recipient@gmail.com -y

步骤6:可选。更改发件人电子邮件和姓名。在主文件夹中创建一个.muttrc文件。

echo -e "set from =  \"aname@something.net\"\nset realname = \"Yay\"" > ~/.muttrc