Emacs 新闻组 之三 收发Gmail
2012-01-10 17:02
281 查看
我的工作生活重度依赖Gmail和Emacs,它们的结合,让我欣喜万分。通过Emacs Gnus收发Gmail之后,我不用翻墙了,因为IMAP不是HTTP(S)协议,没有被墙。我能很惬意的在Emacs中收发,检索Gmail邮件。
本文已经重新修改过,测试环境是Emacs 24.3.1 和 Ubuntu 13.10.
如何配置的细节请参考一篇非常重要的文章: http://www.emacswiki.org/emacs/GnusGmail
(setq user-mail-address "csfreebird@gmail.com")
;;;;;;;;;;;;;;;;;;;;
;;自动显示图片
;;;;;;;;;;;;;;;;;;;;
(auto-image-file-mode)
(setq mm-inline-large-images t)
(add-to-list 'mm-attachment-override-types "image/*")
(setq gnus-select-method
'(nnimap "gmail"
(nnimap-address "imap.gmail.com")
(nnimap-server-port 993)
(nnimap-stream ssl)))
(setq message-send-mail-function 'smtpmail-send-it
smtpmail-starttls-credentials '(("smtp.gmail.com" 587 nil nil))
smtpmail-auth-credentials '(("smtp.gmail.com" 587
"csfreebird@gmail.com" nil))
smtpmail-default-smtp-server "smtp.gmail.com"
smtpmail-smtp-server "smtp.gmail.com"
smtpmail-smtp-service 587
gnus-ignored-newsgroups "^to\\.\\|^[0-9. ]+\\( \\|$\\)\\|^[\"]\"[#'()]")
我的~/.authinfo文件:
machine imap.gmail.com login csfreebird@gmail.com password your_pwd port 993
machine smtp.gmail.com login csfreebird@gmail.com password your_pwd port 587
好了,现在介绍如何使用。
启动gnus后,会进入Group Buffer看到Gmail里面的目录。
提醒,使用gnus后有个副作用是web版本的gmail里面很多邮件被标记未unread.
http://www.gnus.org/manual/gnus_17.html#SEC17
C-u Enter键更好,因为会显示已读的邮件。
g 检查新email
如果想检查一下有没有新Email,将光标停留在Inbox上,按g键。
设置某个group所有邮件都显示,移动到某个group上,按G p,然后添加下面一段:
((gnus-use-scoring nil)
(expiry-wait . 2)
(display . all))按下Ctrl- c Ctrl-c保存。这样所有的email都不会被隐藏了。
如果直接按Ret键打开邮件,会出现R. 标记,暂时不明白R.和r.的区别是什么?
设置所有当前Summary Buffer中的email为已读 M C-c 然后每个email前面会出现C标记。注意,Ubuntu下M被用于激活搜索框,所以这个快捷键暂时还用不了。
问题:
这些操作之后,用浏览器访问Gmail,发现邮件仍然是未读状态。
这个非常重要,默认GNUS不显示已读邮件其实非常不方便。
不过这个仍然受到一次打开数目的限制,所以有时候还需要用 / o 命令。
感觉这个地方就是不方便。
如果已经在summary plugged缓冲区,g代表打开光标所指的email,作用等同与Enter键。
--text follows this line--
r键 回复邮件,不带原件内容
Reply to All 是通过按下两个键完成的:S + W/w
如果W则带原件内容,如果w则不带原件内容。
/ o 用来查看old email, 因为有些不重要的email阅读过后,再次进入目录默认是看不到的。
/ N 用来检查是否有新email
在summary plugged中,C-c C-s C-d是按照日期排序,最新的email出现在最下方,这是默认排序方式。
C-c C-s Enter C-d是按照日期倒排,最新的email出现在最上方,和gmail的网页版本很像。
C-u space 查看所有email
Enter键进入查询有时候会看不到一些过去已经阅读的Email,所以可以用C-u space 来查看所有Email。
/ + a 然后输入author的名字,比如facebook,可以快速的将非facebook发送的email过滤掉
/ + s 用来过滤subject
/ + w 取消当前过滤
也可用# 标记多个email,然后用C-c C-f一次转发。
接收附件,email正文最后会有一个链接,光标移动到那一行,然后回车,就会提示下载。有时候附件是中文,直接按回车不能保存,需要按o键另存为。
如果发送邮件时要添加附件,按Ctr-c 回车 然后f。
如果Email内容是HTML代码,可以将光标移动到该Email的Summary上,然后按K H,Gnus会将Email保存成HTML文件,然后打开外部浏览器浏览本地的HTML文件。
Emacs 24可以直接显示HTML内容。上面的操作一般不再需要。
推荐阅读
http://blog.binchen.org/?p=403
http://visayafan.com/Coding/Lisp/EmacsGnus.html
享受生活吧。
本文已经重新修改过,测试环境是Emacs 24.3.1 和 Ubuntu 13.10.
如何配置的细节请参考一篇非常重要的文章: http://www.emacswiki.org/emacs/GnusGmail
配置
现在看一下我的配置文件~/.gnus(setq user-full-name "Dean Chen")(setq user-mail-address "csfreebird@gmail.com")
;;;;;;;;;;;;;;;;;;;;
;;自动显示图片
;;;;;;;;;;;;;;;;;;;;
(auto-image-file-mode)
(setq mm-inline-large-images t)
(add-to-list 'mm-attachment-override-types "image/*")
(setq gnus-select-method
'(nnimap "gmail"
(nnimap-address "imap.gmail.com")
(nnimap-server-port 993)
(nnimap-stream ssl)))
(setq message-send-mail-function 'smtpmail-send-it
smtpmail-starttls-credentials '(("smtp.gmail.com" 587 nil nil))
smtpmail-auth-credentials '(("smtp.gmail.com" 587
"csfreebird@gmail.com" nil))
smtpmail-default-smtp-server "smtp.gmail.com"
smtpmail-smtp-server "smtp.gmail.com"
smtpmail-smtp-service 587
gnus-ignored-newsgroups "^to\\.\\|^[0-9. ]+\\( \\|$\\)\\|^[\"]\"[#'()]")
我的~/.authinfo文件:
machine imap.gmail.com login csfreebird@gmail.com password your_pwd port 993
machine smtp.gmail.com login csfreebird@gmail.com password your_pwd port 587
好了,现在介绍如何使用。
启动gnus后,会进入Group Buffer看到Gmail里面的目录。
提醒,使用gnus后有个副作用是web版本的gmail里面很多邮件被标记未unread.
Group Buffer的操作
显示Group的例子
100: nnimap+gmail:csdn 100: nnimap+gmail:cml 101: nnimap+gmail:CppCMS 191: nnimap+gmail:INBOX 103: nnimap+gmail:bank 197: nnimap+gmail:[Gmail]/All Mail 104: nnimap+gmail:[Gmail]/Sent Mail 5: nnfolder+archive:sent.2014-04 10: nnfolder+archive:sent.2014-03 9: nnfolder+archive:sent.2014-02 * 0: CppCMS 26821: INBOX 27864: [Gmail]/All Mail * 0: bank 608: cml * 0: csdn 1: nndraft:drafts其实只要看nnimap+gmail: 开头的Groups即可。其他的可以直接忽视。104: 代表里面有104个未读邮件。如果某个组里面有做了标记的邮件,前面会出现*
http://www.gnus.org/manual/gnus_17.html#SEC17
进入某个Group
Enter键进入某个GroupC-u Enter键更好,因为会显示已读的邮件。
订阅或者不订阅
U键是不订阅,这些和Gnus常规操作一样,U标记的目录将不会显示。显示所有Group
A A可以显示所有目录,包括U标记的目录。刷新Group
只要按下g即可查找邮件
GG可以用来查找g 检查新email
如果想检查一下有没有新Email,将光标停留在Inbox上,按g键。
设置某个group所有邮件都显示,移动到某个group上,按G p,然后添加下面一段:
((gnus-use-scoring nil)
(expiry-wait . 2)
(display . all))按下Ctrl- c Ctrl-c保存。这样所有的email都不会被隐藏了。
标记当前组邮件为已读
c 即可,据说也可以用在Summary Buffer中。Summary Buffer的操作
标记为已读
d键 标记邮件为已读,前面会出现r. 标记如果直接按Ret键打开邮件,会出现R. 标记,暂时不明白R.和r.的区别是什么?
设置所有当前Summary Buffer中的email为已读 M C-c 然后每个email前面会出现C标记。注意,Ubuntu下M被用于激活搜索框,所以这个快捷键暂时还用不了。
问题:
这些操作之后,用浏览器访问Gmail,发现邮件仍然是未读状态。
显示已读邮件
C-u M-g这个非常重要,默认GNUS不显示已读邮件其实非常不方便。
不过这个仍然受到一次打开数目的限制,所以有时候还需要用 / o 命令。
感觉这个地方就是不方便。
打开邮件
Ret键如果已经在summary plugged缓冲区,g代表打开光标所指的email,作用等同与Enter键。
回复邮件
R键 回复邮件,带原件内容, 注意,内容必须写在下面一行文字的后面,如果在之前写,邮件内容将会编码成无法阅读的内容。--text follows this line--
r键 回复邮件,不带原件内容
Reply to All 是通过按下两个键完成的:S + W/w
如果W则带原件内容,如果w则不带原件内容。
创建新邮件
用a放弃正在编写的邮件
C-c C-k发送邮件
C-c C-c 发送邮件。退回到Group Plugged
q 可以用来退回到某个文件夹(Group Plugged)。/ o 用来查看old email, 因为有些不重要的email阅读过后,再次进入目录默认是看不到的。
/ N 用来检查是否有新email
排序
email排序在summary plugged中,C-c C-s C-d是按照日期排序,最新的email出现在最下方,这是默认排序方式。
C-c C-s Enter C-d是按照日期倒排,最新的email出现在最上方,和gmail的网页版本很像。
C-u space 查看所有email
Enter键进入查询有时候会看不到一些过去已经阅读的Email,所以可以用C-u space 来查看所有Email。
过滤
主要参考官方文档:http://www.gnu.org/software/emacs/manual/html_mono/gnus.html#Limiting/ + a 然后输入author的名字,比如facebook,可以快速的将非facebook发送的email过滤掉
/ + s 用来过滤subject
/ + w 取消当前过滤
转发邮件
C-c C-f 即可。也可用# 标记多个email,然后用C-c C-f一次转发。
附件
发送附件,用快捷键C-c C-a, 然后回答几个问题,附件路径,描述信息等。disposition用默认的attachment即可。接收附件,email正文最后会有一个链接,光标移动到那一行,然后回车,就会提示下载。有时候附件是中文,直接按回车不能保存,需要按o键另存为。
如果发送邮件时要添加附件,按Ctr-c 回车 然后f。
如果Email内容是HTML代码,可以将光标移动到该Email的Summary上,然后按K H,Gnus会将Email保存成HTML文件,然后打开外部浏览器浏览本地的HTML文件。
Emacs 24可以直接显示HTML内容。上面的操作一般不再需要。
推荐阅读
http://blog.binchen.org/?p=403
http://visayafan.com/Coding/Lisp/EmacsGnus.html
享受生活吧。
相关文章推荐
- Emacs 新闻组 之三 收发Gmail
- 如何用Emacs的Gnus收发Gmail邮件(英文版)
- Windows下 emacs 用 mew 收发邮件(Gmail)
- 使用Delphi收发GMail的邮件
- Emacs 新闻组 之四 联系人管理
- Godaddy邮件通过Gmail收发的设置
- Emacs收发email
- 收发网易,雅虎,hotmail,gmail邮件可能遇到的问题的解答
- 使用Emacs阅读邮件和新闻组:Gnus 中文FAQ
- Ubuntu配置Evolution收发Gmail邮件
- 使用Python脚本来收发Gmail, Say no to GFW
- 配置 Gnus 收发 Gmail
- 用Emacs收发邮件
- delphi indy 收发 gmail 邮箱 注意事项( Gmail,Yahoo 等都有ssl认证 ,如果不用indy ,用mapi自己写的话 很麻烦)
- foxmail收发gmail彻底失败
- linux下使用thunderbird收发hotmail和gmail
- 使用Python脚本来收发Gmail, Say no to GFW
- Ubuntu配置Evolution收发Gmail邮件
- 使用Delphi收发GMail的邮件
- 用outlook express收发Gmail邮件