我知道我可以使用客户端下载电子邮件,但是有没有办法直接从终端下载电子邮件?我正在尝试从我的 Gmail 中获取一些电子邮件,以便稍后对某些电子邮件进行分析。
编辑:感谢您的所有回答。现在,我找到了一种使用 getmail 的方法。但我遇到了一个小问题。它下载了电子邮件和附件,但以文本形式打印了所有内容。有没有办法真正检索所述附件?
答案1
Gmail 提供 IMAP 服务,通过该服务,您可以使用任何支持该协议的客户端来获取电子邮件。客户端在磁盘上获取电子邮件的方式可能有所不同。
目前使用最广泛的命令行 IMAP 客户端是 fetchmail。您可以在 Ubuntu 中轻松安装它,然后使用 google 搜索与 gmail 一起使用的具体配置。
fetchmail 的一个特点是它从远程服务器获取电子邮件,然后通过本地 MTA 传输。因此,您需要有一个本地配置的 MTA 才能使此设置正常工作。MTA 可能会将电子邮件附加到 /var/mail/$USER,然后您可以读取此文件进行处理。
另一个可能有用的工具是 offlineimap。我还没有用过它;设置可能比 fetchmail 更容易。
至于您需要保存电子邮件中的附件,您需要安装mpack
。然后,对每封电子邮件的 .txt 文件运行 munpack 命令(是的,包含附件中的所有乱码的文件)。它将解码附件并将其保存在单独的文件中:
$ munpack mail.txt
Invoice.PDF (application/pdf)
my-picture.png (image/png)
答案2
(问题是关于在提问者指定之前通常通过终端访问电子邮件getmail
,但附件也很容易保存Mutt
:请参阅下面的注释)
您可以使用程序Mutt
,该程序在存储库中可用。我发现它具有高度可配置性,一旦您习惯了它,它就相当简单。以下说明涉及使用和协议Mutt
进行设置(确保在您的帐户设置中启用)。gmail
imap
smtp
imap
gmail
设置需要一点时间,但这基本上是最快的方法:
- 创建一个名为的目录
.mutt
,并在其中创建另一个名为cache
接下来创建一个名为的文件
.muttrc
来存储您的设置,尽管它不放在.mutt
文件夹中,而只是放在您的主文件夹中。然后在其中输入以下设置;对于密码,我将其保留""
以便您得到提示,因为将密码放在纯文本文件中并不是一个好主意,例如.muttrc.
(注意:这些设置基于 Mutt 上的 Linux 格式文章,LXF134,2010 年 8 月,第 96-97 页。)set from = "[email protected]" set realname = "Your Name" set imap_user = "[email protected]" set imap_pass = "" set folder = "imaps://imap.gmail.com:993" set spoolfile = "+INBOX" set postponed = "+[Gmail]/Drafts" set trash = "imaps://imap.gmail.com/[Gmail]/Trash" set header_cache=~/.mutt/cache/headers set message_cachedir=~/.mutt/cache/bodies set smtp_url = "smtp://[email protected]:587/" set smtp_pass = "" set move = no set imap_keepalive = 900 set sort=threads set sort_aux=date
现在,您的设置已保存在 中.muttrc
,只需mutt
在终端中输入并在提示时输入您的密码即可。我已经测试了这些设置,它们运行良好;查看更多设置以自定义您的Mutt
体验,因为宏可以与程序一起使用以赋予其额外的功能。请参阅Mutt 手册用于此功能及更多功能,当您获得程序时也会安装。
打开附件,选择带有附件的邮件,press v
,选择附件并按enter
在默认应用程序中查看。要保存附件,press s
请改为保存并输入文件名和位置,然后按enter
。
答案3
您可以使用 OfflineIMAP。
OfflineIMAP 传统上通过在本地维护 Maildir 格式的邮件文件夹层次结构来运行。您自己的邮件阅读器将从此树中读取邮件,并且永远不需要知道邮件来自 IMAP。OfflineIMAP 将检测 IMAP 服务器和您自己的计算机上的邮件文件夹的更改并双向同步它们,根据需要复制、标记和删除邮件。
它位于宇宙存储库中,因此您可能需要先启用它,然后安装: