我希望能够通过 SSH 隧道从 mutt 发送电子邮件,我可以通过 SSH 进入 SMTP 服务器,但我不知道如何告诉 mutt 如何使用隧道发送电子邮件。
有人可以帮帮我吗?
答案1
使用远程 SMTP 的描述如下:https://gitlab.com/muttmua/mutt/-/wikis/MuttFaq/Sendmail
因此,使用隧道,您需要将 SMTP 设置为本地主机,但使用隧道端口。例如,您在远程创建隧道 8025->25:
ssh -L8025:smtp.example.com:25 serv.example.com
在 Mutt 配置 ( .muttrc
) 中输入:
set smtp_url="smtp://username@localhost:8025/"
顺便说一句。在此处使用远程 POP/IMAP:https://gitlab.com/muttmua/mutt/-/wikis/MuttFaq/RemoteFolder
答案2
您无需自行运行具有本地端口转发功能的 ssh。mutt 和 Neomutt 均有配置选项tunnel
。
隧道
类型:字符串
默认值:(空)设置此变量将导致 mutt 打开命令管道而不是原始套接字。您可以使用它来设置与 IMAP/POP3/SMTP 服务器的预认证连接。示例:
set tunnel="ssh -q mailhost.net /usr/local/libexec/imapd"
注意:为了使此示例正常工作,您必须能够登录到远程计算机而无需输入密码。
设置后,Mutt 将使用隧道进行所有远程连接。请参阅手册中的“account-hook”,了解如何针对每个连接使用不同的隧道命令。
例子:
neomutt -F /dev/null \
-e 'set tunnel="ssh host.example.com' \
[email protected] \
< /tmp/msg