导语:一个有意思的命令行工具Mutt,可以移植到其它邮件服务提供商。

新的一天,我决定开始在命令行上做一项新的任务。在使用Twitter CLI设置把自己出卖了并在不久放弃后(我觉得命令行降低了Twitter的魅力所在),我转移到了Gmail上,我对于快速发送和接收电子邮件的前景感到兴奋,而且很少打断开发流程。

介绍一下Mutt,这个令人惊讶的命令行电子邮件客户端让一切回到了1998年!

新手上路

如果还没有安装Homebrew ,请执行以下操作:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安装Homebrew后,安装Mutt:

brew install mutt

一旦完成,准备开始配置Mutt以使用我们的Gmail帐户。用nano(一个终端文本编辑器)打开Mutt配置文件:

nano ~/.muttrc

图片1.png

你会看到一个像上面那样的空文件。粘贴以下内容并根据帐户详细信息以大写形式编辑所有内容:

set imap_user = “YOUR-USERNAME@gmail.com
set imap_pass = “YOUR-PASSWORD”
set smtp_url = “smtp://YOUR-USERNAME@smtp.gmail.com:587/”
set smtp_pass = “YOUR-PASSWORD”
set from = “[email protected]
set realname = “YOUR NAME”
set folder = “imaps://imap.gmail.com:993"
set spoolfile = “+INBOX”
set postponed = “+[Gmail]/Drafts”
set header_cache = ~/.mutt/cache/headers
set message_cachedir = ~/.mutt/cache/bodies
set certificate_file = ~/.mutt/certificates
set move = no
set smtp_authenticators = ‘gssapi:login’

完成后,按Control-O(输出),然后按Enter键。然后按Control-X退出nano。如果一切顺利,现在可以使用以下命令从终端访问Gmail帐户:

mutt

如果在.muttrc中提供了正确的信息,但仍然无法连接,Google可能出于安全原因阻止了登录。如果发生这种情况,您将收到Google发送的一封电子邮件,其中声明“我们最近屏蔽了登录信息”试图访问您的Google帐户,并提供有关如何为不太安全的应用授予访问权限的说明。只需点击该链接并更改设置即可启用对安全性较低的应用的访问权限。

Mutt初步

图片2.png 

如果像我一样,你养成了永不删除任何电子邮件的习惯,当你第一次启动Mutt时,你会看到一个巨大的输出。起初它可能会令人沮丧,但很快你就会学会设置一些配置选项,这些选项将帮助你用简单的键盘命令对电子邮件进行分类和过滤。

但首先让我们先发送一封电子邮件。您可以从列表中选择一封电子邮件回复并按r(回复),或按m(邮件)开始全新电子邮件。

如果选择发起新消息,Mutt会首先询问是否想要回到草稿。按y(是)将转到帐户中的草稿清单或n(否)创建新电子邮件。 Mutt会提示输入一个address和一个Subject。

完成后,来到Vim消息编辑器中:

图片3.png

Vim是另一种类似于nano的终端文本编辑器,但具有自己独特的命令。如果对它一点都不熟悉的话,可能需要参考Vim command cheatsheet,但在本练习中只需要几个基本命令。

按I(插入)开始输入信息。完成后,按ESC键,然后按wq(写入并退出)退出Vim。

图片4.png 

从这里按y发送你的电子邮件。你做到了!

Mutt进阶

现在你已经可以像专业人员那样通过命令行发送电子邮件了,让我们配置Mutt以最好地满足需求。

使用Mutt的limit命令来过滤电子邮件

开箱即用,Mutt会将收件箱中的每封电子邮件都发回,并且你不希望发生这种情况。Mutt的limit功能可以让你根据日期,主题,发件人,未读状态等等来询问电子邮件。

要访问限制,只需在Mutt中按l(这是一个小写的L)。从这里开始,你可以通过Mutt各种不同的选项(请注意波浪!):

· ~U —返回所有未读电子邮件

· ~B deadline —返回包含特定关键字的所有电子邮件,在这种情况下为deadline

· ~s pizza —返回具有指定主题的所有电子邮件,在这种情况下为pizza

· ~d 01/01/15–01/02/15 —返回MM/DD/YYYY格式的指定日期范围内发送的电子邮件

这只是一个小示例!要查看所有可用选项以及如何使用它们,请参阅Mutt docs

为limit命令创建快捷方式

如果有一个长或复杂的limit命令,你不希望每次都输出完整的命令。例如,我通常喜欢显示少于7天的电子邮件,并且每次使用Mutt时都必须键入l〜d <7d,这绝对是不合理的。

幸运的是,我们可以轻松创建宏快捷方式将这些Mutt命令映射到我们机器上的键盘命令。让我们回到.muttrc文件:

nano ~/.muttrc

在自己的电子邮件设置下,配置宏。这是我的示例:

macro index .. <limit>~d<7d

这意味着当我使用Mutt时在键盘上按..时,它会通过选项〜d <7d触发limit功能,返回小于7天的电子邮件。

使用自定义命令获取新邮件

与大多数电子邮件客户端不同,Mutt没有附带“检查邮件”命令,当进入程序时,它将引入所有新消息。所以让我们创建自己的命令!

在.muttrc中,添加以下内容:

bind index G imap-fetch-mail

在Mutt中按G(获取),现在将从IMAP服务器获取所有新邮件。

我希望本教程对于任何希望将Gmail集成到其命令行界面的人都很有参考价值。Mutt也可以配置为别的邮件提供商。请参阅Mutt extensive documentation,以便了解更多,并且可以使用它做到令人惊叹的事情。

源链接

Hacking more

...