配置 mutt 通过 SSH 隧道发送电子邮件

配置 mutt 通过 SSH 隧道发送电子邮件

我希望能够通过 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

相关内容