首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >msmtp挂起而不是传递消息。

msmtp挂起而不是传递消息。
EN

Ask Ubuntu用户
提问于 2012-12-28 10:48:35
回答 5查看 6.6K关注 0票数 2

我正在尝试配置msmtp (在Ubuntu12.04上)。当我试图发送一封电子邮件时,它会“挂起”(嗯,ctrl会中止它,所以它并不是真正的挂起,但它似乎什么也不做)。这是我的.msmtprc (当然,密码和所有地址都是正确的):

代码语言:javascript
复制
account wmi

host smtp.wmi.amu.edu.pl
port 465
auth on
user mbork
password ***
from from@address

account default : wmi

当我调用cat mailtest.txt | msmtp -v to@address时,我得到以下信息:

代码语言:javascript
复制
ignoring system configuration file /etc/msmtprc: Nie ma takiego pliku ani katalogu
loaded user configuration file /home/marcin/.msmtprc
falling back to default account
using account default from /home/marcin/.msmtprc
host                  = smtp.wmi.amu.edu.pl
port                  = 465
timeout               = off
protocol              = smtp
domain                = localhost
auth                  = choose
user                  = mbork
password              = *
passwordeval          = (not set)
ntlmdomain            = (not set)
tls                   = off
tls_starttls          = on
tls_trust_file        = (not set)
tls_crl_file          = (not set)
tls_fingerprint       = (not set)
tls_key_file          = (not set)
tls_cert_file         = (not set)
tls_certcheck         = on
tls_force_sslv3       = off
tls_min_dh_prime_bits = (not set)
tls_priorities        = (not set)
auto_from             = off
maildomain            = (not set)
from                  = from@address
dsn_notify            = (not set)
dsn_return            = (not set)
keepbcc               = off
logfile               = (not set)
syslog                = (not set)
aliases               = (not set)
reading recipients from the command line

什么都没发生。

( mailtest.txt文件如下所示:

代码语言:javascript
复制
To: to@address
From: from@address
Subject: A test

msmtp testing

)

是什么导致了这个问题?

EN

回答 5

Ask Ubuntu用户

发布于 2019-11-23 11:33:27

在我的例子中,造成这个问题是因为msmtp默认启用了StartTLS。启用StartTLS后,msmtp将连接到服务器,并等待服务器发送数据( SMTP欢迎消息)。如果服务器不支持StartTLS,并且希望从一开始就使用SSL加密连接,那么它将不会发送数据并等待客户端设置SSL连接。

因此,您可以尝试在tls_starttls offdefaults部分设置~/.msmtprc。还检查端口是否正确。

(要解决这个问题,我用strace msmtp验证了,当msmtp挂起时,它正在连接到正确端口上的正确服务器,等待接收数据,而在同一服务器和端口上使用openssl s_client似乎有效。)

票数 6
EN

Ask Ubuntu用户

发布于 2018-10-16 13:17:05

当心!“从命令行读取收件人”是msmtp在尝试连接到服务器之前发出的最后一条信息消息。如果它挂在那个位置,就意味着它无法连接。与命令行无关,所以不要做我所做的事,去追逐大雁。您可以尝试与telnet (例如telnet mail.example.com 587)连接,以查看服务器是否响应。如果没有,请再次检查其网址和端口。或者,在我的例子中,由于用户名错误,服务器上的fail2ban在一些登录尝试失败后禁止了我。在这种情况下,简单的答案是等待几个小时的禁令到期。

票数 4
EN

Ask Ubuntu用户

发布于 2013-01-04 00:40:52

好了问题解决了。msmtp版本1.4.26似乎坏了;安装1.4.30之后,它就开始工作了。

票数 2
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/233576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档