没有 WSL 的 Windows 上的 Mutt — Dan 的沉思

介绍

我有一个奇怪的爱好,就是尝试让优秀的 UNIX 工具在 Windows 上本地运行。 我发现这是对笔记本电脑资源最有效的利用,因此也是最好的体验。 WSL 很好,但它占用了我系统上的大量 RAM。 我更喜欢使用 系统2。 正如我们将看到的,让 Unix 工具在 MSYS2 下正常工作是一个挑战,而对我来说,这也是乐趣的一部分。

先决条件

这些先决条件不仅仅是使用 mutt,而是在任何开发或其他工作中成功使用 msys2。 这些是我为最大限度地提高 msys2 成功机会而遵循的步骤。

  • 需要安装Msys2。 我喜欢用 安装它(最好是 Windows 上的其他所有内容)。 一定要跑 scoop hold msys2。 当您可以运行时,您不希望每半秒重新安装 msys2 一次以进行“更新” pacman -Syu 在 msys2 中从那里获取所有需要的更新。
  • 您的 USERPROFILE 路径中不应有空格。 我知道这很难,但这是值得的。 我通常通过创建一个名为的本地用户来做到这一点 nospaces 或者其他什么,登录到该用户,然后只有在我的 C:Users 文件夹已创建等
  • 你的 MSYS2 安装应该有这个 /etc/fstab,作为确保 MSYS2 主目录也是您的唯一正确方法 USERPROFILE
    目录:
# For a description of the file format, see the Users Guide
# https://cygwin.com/cygwin-ug-net/using.html#mount-table

# DO NOT REMOVE NEXT LINE. It remove cygdrive prefix from path
none / cygdrive binary,posix=0,noacl,user 0 0
C:/Users    /home   ntfs    binary,posix=0,noacl,user 0 0

如果你使用scoop安装msys2,你可以将上面的文件放在下面 C:Usersscoopappsmsys2currentetcfstab 它应该有效。

指示

  • 在 mingw64 MSYS2 提示符下,键入以下命令来安装 gpg、mux 和 msmtp:
pacman -S gnupg mutt mingw64/mingw-w64-x86_64-msmtp w3m
  • 我们照常配置 mutt,但我发现 mutt 由于某种原因无法发送电子邮件。 所以配置一下就可以使用了 邮件传输协议 对于那部分,然后一切正常。 这是我的 gmail 配置(位于 ~/.mutt/home.account):
set imap_user = "[email protected]"
set folder = "imaps://imap.gmail.com/"
set spoolfile="+INBOX"
set postponed = "+[Gmail]/Drafts"
set record = "+[Gmail]/Sent Mail"
set trash = "+[Gmail]/Trash"
set imap_pass = `multipass imaps://imap.gmail.com:993/`

set realname = "Daniel Jay Haskin"
set from="[email protected]"
set sendmail="/mingw64/bin/msmtp -a home"

set crypt_use_gpgme
set pgp_default_key="443A163BD11CEAE798BAAB94D7268D49D06594F4"

source ~/.muttrc

在此文件中,我使用一个名为的 shell 脚本
多次通过
从中查找密码 KeePassXC 使用
git-credential-keepassxc

我们还看到我使用 msmtp 配置为使用家庭帐户发送。

这是我的 msmtp 配置:

defaults
auth on
tls on
tls_trust_file C:/Users/bhw/scoop/apps/msys2/current/usr/ssl/certs/ca-bundle.crt
logfile ~/.msmtp.log

account home
host smtp.gmail.com
port 465
tls_starttls off
from [email protected]
user [email protected]
passwordeval "C:UsersbhwExecutablesmultipass.bat smtps://smtp.gmail.com:465/ [email protected]"

account migadu
host smtp.migadu.com
port 465
tls_starttls off
from [email protected]
user [email protected]
passwordeval "C:UsersbhwExecutablesmultipass.bat smtps://smtp.migadu.com:465/ [email protected]"

account default: home

msmtp 程序必须使用一个 不同的
多次通过

因为它是“Windows 感知”而不是“msys2 感知”,尚未编译 “msys2”子系统,而是使用“mingw64”子系统。 当我们讨论这个主题时,该文件(上面)必须写入 ~/msmtprc.txt 在 Windows 上,我遇到了另一个问题。 正是这种来回的 Windows 而非 Windows 栅栏让 msys2 摇摇欲坠,使得 msys2 主目录与“windows”主目录相同变得如此重要。 我发现它有时会让事情变得不那么混乱。

最后,这是我的 ~/.muttrc:

set move = no
set confirmappend = no
alternative_order text/plain text/html
auto_view text/html
set mailcap_path = ~/.mailcap

set envelope_from=yes

不管怎样,然后我就可以在 msys2 mingw64 终端中启动并使用 mutt 了:

mutt -F ~/.mutt/home.account

Leave a Reply

Your email address will not be published. Required fields are marked *

近期新闻​

编辑精选​