分类:
2010-06-25 15:02:25
作者:
最近也是学习缘故,才重新开始使用邮件列表,只是邮箱里的邮件已经堆积如山了。邮件客户端的选择余地很大,有跨平台的 ,也有 。 上的邮件客户端有强大的 ,但是 gnus 的跨平台性不是很好,太依赖 linux 工具,在 windows 上的配置也比较繁琐。gnus 是单线程的程序,感觉作为新闻阅读器更合适。没有选用 作为客户端,也是配置繁琐所致,曾经尝试过几次但都失败了。
几番搜索比较后,选择了 作为邮件客户端,一如所有的 emacs 的插件,强大和无穷的定制性。
mew 的安装在 linux 下很简单,如果是 gentoo 的话,可以直接通过命令”emerge app-emacs/mew” 安装。如果是想要自己来管理各个 elisp 拓展,那可以通过 autotools 进行安装,更推荐前者。
mew 在 windows 的安装上比较折腾,不得不说, emacs 在 windows 上使用要辛苦的多。具体的安装可以参考 mew 的文档,如果要使用 mew 的 ssl 加密连接功能,必须要安装 stunnel3 版本,而且需要openssl 的支持。
1 | (if (string-equal system-type "windows-nt") |
mew 的 初始化必要代码建议写入 ~/.emacs 文件中,而 mew 单独的配置建议保存在 ~/.mew.el 文件中,mew 在启动时会读取此文件中的配置内容。
安装完之后还需要在 ~/.emacs 文件中加入如下必要代码以告诉 emacs 如何启动 mew。
1 | (autoload 'mew "mew" nil t) |
对于邮件服务的设置,在 mew 中即被映射为对 mailbox 的设置,mew 中对于邮件的组织是通过 mailbox 完成的。相应的有 3 种类型的 mailbox,分别表示着local/pop/imap/nntp/,即不同的邮件箱对应着不同的邮件协议,通过变量proto 进行设置。
包含邮件的 mailbox 在 mew 中被称为 folder,而 folder 的名称由两部分组成:proto + string。proto 相应的有三种类型,分别以 +/$/%/- 对应着local/pop/imap/nntp, 如 +inbox 即为最典型的 folder。相应的 mew 的文件夹分为两类,本地 folder 和 远程 folder,本地 folder 有四种类型,+inbox/+draft/+quene/+postq。远程 folder 根据协议既可以分为三种类型,$folder/%folder/-folder,如$inbox/%inbox /-fj.mail.reader.mew。
mew 对多账户的支持很好,可以支持 imap/pop3/nntp/local,可以通过 mew-config-alist变量进行非常灵活而强大的设置。如以下即为 gmail 的设置样例。
1 | (setq mew-config-alist |
mew 可以灵活的设置如何引用邮件上下文,定制引用的格式。mew的引用是由变量mew-cite-fields 控制,有 From,Subject,Date域,具体的引用样式由 mew-cite-format 设置。mew 默认的配置如下:
1 | (defvar mew-cite-fields '("From:" "Subject:" "Date:")) |
如果需要修改为 Gmail 的引用格式,可以只选择 From 和 Date 域,然后修改mew-cite-format 即可。
1 | (setq mew-cite-fields '("Date:" "From:")) |
如何回复,回复的位置,大概是邮件中争论最多的地方。基本上所有邮件的 web客户端,Gmail,outlook 都默认使用上回复(top-posting),但是邮件列表和新闻组(usenet)提倡下回复(bottom-posting),在一个社区中使用“错 误”的风格,可能被视作严重违反网络礼仪,从而遭致社区成员的激烈反应。可以参考 和 。
回到 mew 的设置,通过设置变量 mew-summary-reply-with-citation-position可以选择是使用上回复或是下回复。如果设置为 body,即回复出现在引文之前,名为上回复,如设置为 end,在引文后回复,使用下回复样式。
mew 默认使用的邮件签名档位于 ~/.signature 文件,由变量 mew-signature-file控制,快捷键 ‘C-cTAB’ 会在光标处插入签名档。建议将签名档放置在邮件的末尾,可以通过 mew-signature-as-lastpart’ 与 ‘mew-signature-insert-last’设置。如果需要在撰写或是回复邮件时,需要自动插入签名档,可以通过mew-draft- mode-newdraft-hook 进行插入。
1 | (setq mew-signature-file "~/Mail/signature") |
对于邮件列表和新闻组,邮件过滤和 thread 功能是不可或缺的。mew 的邮件过滤功能,或是 mew 的术语称谓的 refile 很强大而实用。refile 功能对于pop 邮箱而言非常实用,gmail 的 imap 由于可以使用 filter 与 label 的组合,也非常的完美。
如果为设置任何的 refile rules,在 summary-mode 里面按 o 即可对当前邮件进行分类,mew 会问你把邮件分类到哪个文件夹里面去,并提供了一个默认的选项,通常情况下默认选项就是正确的选项,所以直接回车就可以了。
虽然 mew 的 refil-by-guess 很方便,但是更加使用的还是自定义 refile rules。
mew 提供的 refile 非常丰富,但感觉实用可定性好的还是 Guess by user defined rules。例如,如果你订阅了
octave,freebsd 的帮助邮件列表,很自然的会需要把此三个邮件列表的邮件分开存放在不同的本地文件下,而通常的邮件会存放到 inbox
folder。相应的只需要把邮件头的 To 和 Cc 域里包含有 “@octave.org”的邮件 refile 到 +math/octave
文件夹中,同时把 To 和 Cc 域里含有”@freebsd.org”的邮件 refile 到
+unix/freebsd,就可以使用如下的实例代码。
更详尽的 refile rules 可以参考 mew 的使用手册。
1 | (setq mew-refile-guess-alist |
完成 refile rules 后,在收取邮件后,按下 ‘M-o’ 即可对当前 mode 下的邮件按照定义的 rules 进行 refile。然后,你想要查阅 octave 邮件列表,只需要按下 ‘g’ 与 ‘+math/octave’,就可以切换到 octave 文件夹,此时再按下 ‘tt’,既可以进入 mew 提供的 thread 功能,此时的 mode 称为 virtual folder mode,mew 会指示出各个邮件之间的层次关系,非常方便。
在邮件服务设置完成后,就需要获取远程的邮件到本地的 +inbox folder。当输入’M-x mew’,mew 会依据 ‘mew-mailbox-type’ 获取相应协议的邮件。但此时 位于summary 模式时,只需输入 ‘i’ 即可。如果用 mew 处理邮件一段时间后,需要再查收远程 folder 上的邮件,试试 ’s’ 快捷键。对于 IMAP 和 NetNews,更加建议使用 ’s’,而非 ‘i’。当按下 ’s’ 时,mew 会向你询问 range,一般而言输入’sync’ 比较合适,这会同步本地 folder,即删除已在远程服务器上删除的邮件和收取新接受的邮件。当使用 ‘C-u s’快捷键时,可以在仅获取邮件头和获取完整邮件信息间切换,相应的这是由诸如 ‘mew-pop-header-only’ 变量定义的。对于邮件列表和新闻组而言,跟推荐获取完整的邮件信息,刻意离线查阅,非常方便。
使用 Gmail IMAP 非常方便,使用 mew 配合 Gmail 的 filter 与 label 可以对邮件进行很有效的管理。如你当下在 %inbox,如果需要切换到 ‘All sent’,只需要输入 ‘g’,然后输入 ‘%[Gmail]/All Mail’ 或者使用 mew 提供方便的自动补全机制。mew 使用 folder 管理邮件,而在各个 folder 进行切换的快捷键既是方便的 ‘g’。
mew 也提供了方便的对多账户进行使用与切换的功能。以如上的账户设置为例,在如上设置了两个 “cases”: “default”,”mailinglist”。如果当前的 case 为dafault, mew 即为按照 default 的设置,即此时以 imapuser 按照 IMAP 协议收取邮件。而如果你想要切换至 mailinglist 时,只需要使用快捷键 ‘C’,输入mailinglist 即可,此时 mew 即会使用 popuser 帐号以 pop 协议收取邮件。在启动 mew 时,默认使用 default 此 case。
mew 的日常使用可以通过各种 mode 上的菜单完成,但使用快捷键也非常方便。
w | 撰写新邮件 |
a | 回复邮件,不带引用 |
A | 回复邮件,带引用 |
f | 转发邮件 |
r | 重新发送邮件 |
SPC | 阅读邮件 |
y | 保存文件(可以保存信件全文、信件正文、附件) |
C-c C-l | 转换当前邮件的编码格式 |
C-c C-a | 加入地址薄 |
C-u C-c C-a | 比 C-c C-a 多加入昵称和名字 |
C-c C-q | 不保存退出 |
C-c C-a | 准备插入附件 |
mew-attach-copy | 用复制方式加入附件 |
mew-attach-link | 用链接方式加入附件 |
mew-attach-delete | 删除附件 |
C-c C-c | 发送邮件 |
C-c RET | 保存邮件到发送队列 |
C | 如果设置了多个邮箱,用 C 命令切换 |
Q | 退出Mew |