我最近安装了neomutt
新的 Arch 安装。我按如下方式设置 .muttrc:
# Receive mail
set imap_user = [email protected]
set folder = imap://imap.example.org/
set spoolfile = +INBOX
# Send mail
set realname = 'name'
set from = [email protected]
set use_from = yes
set smtp_url = smtp://$imap_user:[email protected]
set ssl_starttls = yes
set editor = nano
set record = +Sent
mailboxes =INBOX
# Store message headers locally to speed things up.
# If hcache is a folder, Mutt will create sub cache folders for each account which may speeds things up even more.
set header_cache = ~/.cache/mutt
# Allow Mutt to open a new IMAP connection automatically.
unset imap_passive
# Keep the IMAP connection alive by polling intermittently (time in seconds).
set imap_keepalive = 300
# How often to check for new mail (time in seconds).
set mail_check = 120
注:根据neomutt 的文档,可以调用rc文件.muttrc
,所以这不是问题
我可以毫无问题地接收电子邮件。当我尝试发送电子邮件时,问题就出现了。我收到以下错误消息:
Could not connect to smtp.example.org (No route to host).
当我这样做时,ping smtp.example.org
我得到:
PING example.org (11.111.111.111) 56(84) bytes of data.
64 bytes from vn.example.org (11.111.111.111): icmp_seq=1 ttl=52 time=92.7 ms
64 bytes from vn.example.org (11.111.111.111): icmp_seq=2 ttl=52 time=93.4 ms
64 bytes from vn.example.org (11.111.111.111): icmp_seq=3 ttl=52 time=94.6 ms
64 bytes from vn.example.org (11.111.111.111): icmp_seq=4 ttl=52 time=95.1 ms
64 bytes from vn.example.org (11.111.111.111): icmp_seq=5 ttl=52 time=92.9 ms
64 bytes from vn.example.org (11.111.111.111): icmp_seq=6 ttl=52 time=93.3 ms
64 bytes from vn.example.org (11.111.111.111): icmp_seq=7 ttl=52 time=91.8 ms
这告诉我这一定是我这边的问题,而不是服务器的问题。我已经尝试更改我的配置,检查 smtp url 上是否有任何不可见字符,重置我的电脑和路由器,但问题仍然存在。
有人可以告诉我为什么会发生这种情况以及如何修复它以便发送电子邮件吗?
非常感谢!
答案1
“这告诉我这一定是我这边的问题,而不是服务器的问题。”
没有。这告诉您存在一台名为 smtp.example.org 的计算机,它的端口号为 11.111.111.111,平均往返延迟约为 91 毫秒。仅此而已。
一旦您尝试执行比发送 icmp echo 请求更复杂的操作,example.org 防火墙上的某些安全触发器可能会告诉您的计算机 smtp.example.org 不存在,因此您会从 mutt 收到错误消息。
但更有可能的是您使用的语法是错误的
set smtp_url = smtp://$imap_user:[email protected]
从尼奥穆特手册:
如果这些协议带有表示“安全通信”的“s”后缀,NeoMutt 就可以尝试加密与远程服务器的通信。
尝试在网址中添加“s”。这将尝试使用 ssl/tls 进行连接。
set smtp_url = smtps://$imap_user:[email protected]
但首先检查是否同时编译了 smtp(可选功能!)和 ssl 支持(可选功能!)
neomutt -v
如果它不起作用,您应该查看提供商的信息。支持SASL吗?如果通过 SASL 进行身份验证,则必须配置SASL 部分。
干杯