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

Linux configuration -- ssmtp: Cannot open smtp.gmail.com:587

您好,我有安装了 ssmtp 的 RHEL5 ssmtp-2.61-22.el5。i386.rpm

my /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

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

尝试更改此选项

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

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

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

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

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

将其复制并粘贴到 ssmtp.conf

中的主机名参数中

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

  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- 主机名(通过 运行 $主机名获取)

  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)你需要配置正确的代理设置否则你会得到一个错误:

cannot send message: Process exited with a non-zero status

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

邮件功能都烂透了,网上的教程也是如此

这很糟糕,因为对于 初学者来说 必须很容易。

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

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键select确定

Select "Internet site"

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

将所有其他设置保留为默认设置。 (按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

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

这应该是对 Haider Raza 的回答的评论,但我缺少 1 个 rep 点来评论 lol。

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

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

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

ssmtp -ap "Hash#Password" ...

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

ssmtp -ap $PASSWD ...

希望对您有所帮助。