【问题标题】:Linux configuration -- ssmtp: Cannot open smtp.gmail.com:587Linux 配置 -- ssmtp: 无法打开 smtp.gmail.com:587
【发布时间】:2016-05-09 21:06:55
【问题描述】:

您好,我安装了 ssmtp 的 RHEL5 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

有没有人解决这个问题?请推荐

【问题讨论】:

  • 你找到解决这个问题的方法了吗?
  • 下面的答案都是正确的,但是我遇到这个问题是因为网络问题。修复记录在这里 - stackoverflow.com/a/62062113/4196261

标签: linux gmail mailx ssmtp


【解决方案1】:

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

  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

    抄送: XYZLoremIpsum . 'ctrl+D'

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

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

【讨论】:

  • 这也解决了我的问题;特别是,最近外发邮件停止工作后,我不得不在我的 Arch Linux 系统上添加 TLS_CA_FILE=/usr/share/ncat/ca-bundle.crt 行。
  • RHEL 上有mail 包吗? CentOS 上没有。反正不是第 7 版。
  • mail 软件包与yum install mailx 一起安装
  • 遇到了同样的问题,除了通过 AWS 的 SES 发送。 TLS_CA_FILE 行也为我解决了这个问题。
  • 感谢您的宝贵时间,谢谢。上帝在这里。
【解决方案2】:

尝试更改此选项

允许不太安全的应用访问您的帐户

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

【讨论】:

    【解决方案3】:

    这可能是因为您没有设置ssmtp.confhostname 参数。它should be 一个可解析的全限定域名;您的默认机器名称为ctmtest(如您在上面引用的EHLO 命令中所示)。

    user963 mentions 在他们的回答中的问题也可能在这里起作用,但在这种情况下,您会收到不同的错误消息,例如 ssmtp: Authorization failed (534 5.7.14 ...)

    【讨论】:

      【解决方案4】:

      首先在终端中输入您的主机名:主机名

      将其复制并粘贴到 ssmtp.conf 中的主机名参数中

      【讨论】:

        【解决方案5】:

        这应该是对 Haider Raza 的回答的评论,但我缺少 1 个代表点来评论大声笑。

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

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

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

        ssmtp -ap "Hash#Password" ...

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

        ssmtp -ap $PASSWD ...

        希望对您有所帮助。

        【讨论】:

          【解决方案6】:

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

          【讨论】:

            【解决方案7】:

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

            【讨论】:

              【解决方案8】:

              邮件功能都非常糟糕,互联网上的众多教程也是如此。

              这很糟糕,对于对于初学者来说必须很容易的东西。

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

              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 键选择确定

              选择“互联网站点”

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

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

              然后将通过此电子邮件发送邮件: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
              

              【讨论】:

              • 我被你的回答弄糊涂了......这和ssmtp有什么关系
              猜你喜欢
              • 2019-09-08
              • 1970-01-01
              • 2021-11-21
              • 1970-01-01
              • 2013-08-21
              • 2019-09-20
              • 1970-01-01
              • 1970-01-01
              • 2015-08-22
              相关资源
              最近更新 更多