19

嗨,我安装了 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

有没有人解决了这个问题?请建议

4

8 回答 8

25

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

  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),您需要配置正确的代理设置,否则您将收到错误消息:

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

于 2016-11-14T09:31:24.660 回答
5

尝试更改此选项

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

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

于 2016-02-15T09:22:55.520 回答
4

这可能是因为您没有hostname设置ssmtp.conf. 它应该是一个可解析的、完全限定的域名;你的默认为机器名ctmtest(如EHLO你上面引用的命令所示)。

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

于 2016-07-31T09:16:19.810 回答
1

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

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

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

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

ssmtp -ap "哈希#密码" ...

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

ssmtp -ap $PASSWD ...

希望它有所帮助。

于 2020-03-20T10:26:43.433 回答
1

首先在终端中获取您的主机名类型:主机名

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

于 2016-09-23T23:05:16.410 回答
0

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

于 2019-11-21T19:00:32.747 回答
0

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

于 2018-08-11T17:16:13.323 回答
-2

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

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

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

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 选择 OK

在此处输入图像描述

选择“互联网站点”

在此处输入图像描述

输入您的域,或其他

在此处输入图像描述

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

然后将通过此电子邮件发送邮件: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
于 2019-10-27T03:14:56.660 回答