Archive for the ‘Linux tips’ Category
在mutt中使用Gmail地址簿
这又是关于mutt的记事。公司的IT着实非常落后,至今我们仍在使用微软的Office outlook作邮件客户端。没有gmail,没有webmail,倒是直到上周才为每位员工购买了一款叫做Good的Android软件来查看邮件。可是无论怎样,mutt一直是我钟爱的一款邮件客户端。它已经长在我的手指上。现在在公司的开发机器上我已经可以使用IMAP和SMTP收发邮件,也可以在mutt中使用全公司的LDAP来查找地址,所以,整个功能跟低效的Outlook没有区别,处理邮件的速度却比使用Outlook提高了至少两倍。特别是遇到跟工程师之间通信需要贴代码或者发git patch的时候尤其如此。当通过mutt使用自己的gmail的时候,我遇到了一问题,就是Gmail本身并没有提供LDAP接口用来查询地址,于是我无法套用使用公司邮件的配置来查找地址了。昨天在github上发现了一个perl脚本可以解决这个问题。
Gmail提供了API可以帮助外部应用程序取得地址簿中的数据。Ajnasz的这个脚本可以取得地址簿数据并且用查询字符串匹配,从而找到联系人的邮件地址。但是,但是原来的脚本有一个小问题——无法使用中文或者日语姓名作为查询字符串。自己动手,丰衣足食。我在原代码的基础只添加了两行代码,现在查询中文姓名也没有问题了。如果你有兴趣可以从这里拿到代码。
git clone git://github.com/jcadam/Google-Contacts-for-Mutt.git gc-mutt
这个脚本需要一个简单的配置文件用来取得Gmail数据的访问权限。你可以仿照下面这个例子做自己的配置文件。
$ vi ~/.google.ini
[account] email = 'youraccount@gmail.com' password = 'Passw0rd'
为了防止其他用户访问你的文件增强安全,你可将文件的属性设置成所有者只读。
$ chmod 400 ~/.google.ini
进入contacts.pl脚本所在目录,然后不带任何参数运行这个脚本,你就可以得到整个Gmail联系人名簿。可以先测试一下。
$ cd$ ./contacts.pl
接着,在PATH变量中的任何一个目录中,通常是/usr/local/bin/或者~/bin,建立一个Shell helper了查询数据。
$ vi ~/bin/contracts
#!/usr/bin/env bash
${HOME}/github/gc-mutt/contacts.pl ${1}
然后告诉mutt查询联系人时使用这个helper脚本查询。在~/.muttrc中添加如下一行即可。
set query_command="~/bin/contacts '%s'"
测试一下。在mutt中新建邮件(m),在To:栏中直接输入联系人的名字,比如”Mark Brown”,
然后按”ctrl-t”查找地址簿。
mutt会自动查询地址布并且取回Mark的邮件地址。
嘿~,如果您喜欢我的博客,您可以通过RSS.链接将本博客的最新文章传输到您喜欢的阅读器。
- Tags: contact, gmail, linux, mutt
- Posted in Linux tips
- 2 Comments
Gmail的IMAP和Mutt
今天我想说的还是Mutt的问题。一年以前我写了通过mutt使用gmail。现在再回头看这篇文章的内容已经有些老旧了,只好在感慨时光如梭的同时附上更新。电子邮件对我来说越来越重,相应的Mutt这个邮件客户端也是如此。就像Mutt的作者说的,所有的邮件客户端都很烂,只是Mutt烂的不那么厉害罢了。我希望这几篇文章有用。
之前的解决方法相当复杂,需要mutt, procmail, fetchmail和msmtp等等工具的配合,配置起来非常繁琐。使用了很久这个方法之后,我发现还是使用IMAP直接远程接入Gmail比较简便。但是也有相应的缺点,那就是,使用IMAP的话,你就不能在离线状态中使用mutt了。
配置Gmail的IMAP和Mutt一起工作,相比用fetchmail去pop3服务器上的邮件,这个方法主要更改以下几点:
- 配置Gmail的IMAP
- 设置远程服务器上的文件夹
- 设置本地计算机上的缓冲
- 设置远程服务器上的smtp服务
至于,邮件别名,色彩,和快捷键绑定等等,跟之前介绍的方法并无二致。
配置Gmail的IMAP
创建或者修改~/.muttrc,
vi ~/.muttrc
添加如下几行来告诉mutt你是谁,这里设置的姓名和邮件地址将出现在你的邮件的头部;
set from = "yourusername@gmail.com" set realname = "yourname"
接着,告诉mutt你Gmail邮箱和密码;
set imap_user = "yourusername@gmail.com" set imap_pass = "yourpassword"
在初次启动mutt的时候,mutt会询问你是否接受认证文件,你只需要回答”Yes”就可以了。
设置远程服务器上的文件夹
Mutt可以自动的识别IMAP服务器上的邮件文件夹,所以这里其实不需要更多的动作。但是如果你想做一些自己的配置,可以采用下面的方法;
set folder = "imaps://imap.gmail.com:993" set spoolfile = "+INBOX" set postponed ="+[Gmail]/Drafts" set trash = "imaps://imap.gmail.com/[Gmail]/Trash"
设置本地计算机上的缓冲
在本地计算机上,你需要一个缓冲来保存文件头信息,以及TLS证书等;
set header_cache =~/.mutt/cache/headers set message_cachedir =~/.mutt/cache/bodies set certificate_file =~/.mutt/certificates
别忘了创建相应的本地文件夹
mkdir -p ~/.mutt/cache
设置远程服务器上的smtp服务
设置smtp服务器用来发送邮件
set smtp_url = "smtp://yourusername@smtp.gmail.com:587/" set smtp_pass = "yourpassword"
其他设置
告诉Mutt不要将邮件移动的mbox里,同时为了增强安全性,设置连续上线时间不超过900分钟;
set move = no set imap_keepalive = 900
让mutt的配置文件成为“只读”属性。
chmod 700 .muttrc
配置结束。关于诸如色彩,快捷键,邮件编辑器等其他部分的配置,请参考我的mutt配置文件。
嘿~,如果您喜欢我的博客,您可以通过RSS.链接将本博客的最新文章传输到您喜欢的阅读器。
- Posted in Linux tips
- 13 Comments
纪念MacOS 9
嘿,我得承认我是半个水果迷。昨天偶尔在Apple4us看到WWDC的历史中提到MacOS 9,才发现图形用户界面最初的样子是那么迷人。于是,我决定将我的GNU/Linux打扮成MacOS 9的样子。Here comes my lovely screenshot.
嘿~,如果您喜欢我的博客,您可以通过RSS.链接将本博客的最新文章传输到您喜欢的阅读器。
- Tags: Apple, Mac, OS 9, Screenshot
- Posted in Linux tips
- No Comments




