Email
mutt:無法連接到 <smtp_url>(沒有到主機的路由)
我最近安裝
neomutt
了我全新的 Arch 安裝。我設置我的 .muttrc 如下:# Receive mail set imap_user = name@example.org set folder = imap://imap.example.org/ set spoolfile = +INBOX # Send mail set realname = 'name' set from = name@example.org set use_from = yes set smtp_url = smtp://$imap_user:$imap_pass@smtp.example.org 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 上的任何不可見字元,重置我的 PC 和路由器,但問題仍然存在。
有人可以告訴我為什麼會發生這種情況以及如何解決它以發送電子郵件?
非常感謝你!
“這告訴我這一定是我這邊的問題,而不是伺服器的問題。”
沒有。這告訴您存在一台名為 smtp.example.org 的機器,它有 11.111.111.111,平均往返延遲約為 91 毫秒。僅此而已。
一旦你嘗試做一些比發送 icmp echo 請求更複雜的事情,example.org 防火牆上的一些安全觸發器可能會告訴你的機器 smtp.example.org 不存在,因此你從 mutt 得到錯誤消息。
但您使用的語法很可能是錯誤的
set smtp_url = smtp://$imap_user:$imap_pass@smtp.example.org
如果這些協議以“s”後綴表示“安全通信”,NeoMutt 可以嘗試加密與遠端伺服器的通信。
嘗試在網址中添加“s”。這將嘗試使用 ssl/tls 進行連接。
set smtp_url = smtps://$imap_user:$imap_pass@smtp.example.org
但首先檢查是否編譯了 smtp(可選功能!)和 ssl 支持(可選功能!)
neomutt -v
如果它不起作用,您應該查看您的提供商的資訊。是否支持 SASL?如果通過 SASL 進行身份驗證,則必須配置SASL 部分。
乾杯