<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>阿当正传 &#187; mutt</title>
	<atom:link href="http://www.adamjiang.com/archives/tag/mutt/feed" rel="self" type="application/rss+xml" />
	<link>http://www.adamjiang.com</link>
	<description>长脑袋的个人博客</description>
	<lastBuildDate>Wed, 28 Dec 2011 14:18:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>在mutt中使用Gmail地址簿</title>
		<link>http://www.adamjiang.com/archives/1101</link>
		<comments>http://www.adamjiang.com/archives/1101#comments</comments>
		<pubDate>Fri, 23 Dec 2011 06:54:51 +0000</pubDate>
		<dc:creator>jcadam</dc:creator>
				<category><![CDATA[Linux tips]]></category>
		<category><![CDATA[contact]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mutt]]></category>

		<guid isPermaLink="false">http://www.adamjiang.com/?p=1101</guid>
		<description><![CDATA[这又是关于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的邮件地址。]]></description>
			<content:encoded><![CDATA[<p>这又是关于mutt的记事。公司的IT着实非常落后，至今我们仍在使用微软的Office outlook作邮件客户端。没有gmail，没有webmail，倒是直到上周才为每位员工购买了一款叫做Good的Android软件来查看邮件。可是无论怎样，mutt一直是我钟爱的一款邮件客户端。它已经长在我的手指上。现在在公司的开发机器上我已经可以使用IMAP和SMTP收发邮件，也可以在mutt中使用全公司的LDAP来查找地址，所以，整个功能跟低效的Outlook没有区别，处理邮件的速度却比使用Outlook提高了至少两倍。特别是遇到跟工程师之间通信需要贴代码或者发git patch的时候尤其如此。当通过mutt使用自己的gmail的时候，我遇到了一问题，就是Gmail本身并没有提供LDAP接口用来查询地址，于是我无法套用使用公司邮件的配置来查找地址了。昨天在github上发现了一个perl脚本可以解决这个问题。</p>
<p>Gmail提供了API可以帮助外部应用程序取得地址簿中的数据。<a href="https://github.com/Ajnasz">Ajnasz</a>的这个脚本可以取得地址簿数据并且用查询字符串匹配，从而找到联系人的邮件地址。但是，但是原来的脚本有一个小问题——无法使用中文或者日语姓名作为查询字符串。自己动手，丰衣足食。我在原代码的基础只添加了两行代码，现在查询中文姓名也没有问题了。如果你有兴趣可以从<a href="http://github.com/jcadam/Google-Contacts-for-Mutt">这里</a>拿到代码。</p>
<pre>
git clone git://github.com/jcadam/Google-Contacts-for-Mutt.git gc-mutt
</pre>
<p>这个脚本需要一个简单的配置文件用来取得Gmail数据的访问权限。你可以仿照下面这个例子做自己的配置文件。</p>
<pre>
$ vi ~/.google.ini
</pre>
<pre>
[account]
email = 'youraccount@gmail.com'
password = 'Passw0rd'
</pre>
<p>为了防止其他用户访问你的文件增强安全，你可将文件的属性设置成所有者只读。</p>
<pre>
$ chmod 400 ~/.google.ini
</pre>
<p>进入contacts.pl脚本所在目录，然后不带任何参数运行这个脚本，你就可以得到整个Gmail联系人名簿。可以先测试一下。</p>
<pre>
$ cd <where_gc-mutt_is>
$ ./contacts.pl
</pre>
<p>接着，在PATH变量中的任何一个目录中，通常是/usr/local/bin/或者~/bin，建立一个Shell helper了查询数据。</p>
<pre>
$ vi ~/bin/contracts
</pre>
<pre>
#!/usr/bin/env bash
${HOME}/github/gc-mutt/contacts.pl ${1}
</pre>
<p>然后告诉mutt查询联系人时使用这个helper脚本查询。在~/.muttrc中添加如下一行即可。</p>
<pre>
set query_command="~/bin/contacts '%s'"
</pre>
<p>测试一下。在mutt中新建邮件(m)，在<code>To:</code>栏中直接输入联系人的名字，比如”Mark Brown”，</p>
<p><a href="http://www.adamjiang.com/wp-content/uploads/2011/12/mutt-1.png"><img src="http://www.adamjiang.com/wp-content/uploads/2011/12/mutt-1.png" alt="" title="mutt-1" width="595" height="57" class="alignnone size-full wp-image-1103" /></a></p>
<p>然后按”ctrl-t”查找地址簿。</p>
<p><a href="http://www.adamjiang.com/wp-content/uploads/2011/12/mutt-2.png"><img src="http://www.adamjiang.com/wp-content/uploads/2011/12/mutt-2.png" alt="" title="mutt-2" width="422" height="57" class="alignnone size-full wp-image-1104" /></a></p>
<p>mutt会自动查询地址布并且取回Mark的邮件地址。</p>
<p><a href="http://www.adamjiang.com/wp-content/uploads/2011/12/mutt-3.png"><img src="http://www.adamjiang.com/wp-content/uploads/2011/12/mutt-3.png" alt="" title="mutt-3" width="447" height="50" class="alignnone size-full wp-image-1105" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamjiang.com/archives/1101/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>﻿Gmail证书变更导致的msmtp错误</title>
		<link>http://www.adamjiang.com/archives/858</link>
		<comments>http://www.adamjiang.com/archives/858#comments</comments>
		<pubDate>Fri, 28 May 2010 09:56:45 +0000</pubDate>
		<dc:creator>jcadam</dc:creator>
				<category><![CDATA[Linux tips]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mutt]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.adamjiang.com/?p=858</guid>
		<description><![CDATA[大约一年前我写了《通过mutt使用gmail》，之后因为更换新机器有没有时间再将 mutt等工具配置起来；今天重新在新的gentoo系统上配置Mutt使用gmail却发现原 来的方法出错了。 错误消息如下 msmtp: TLS certificate verification failed: the certificate hasn’t got a known issuer. 很显然，google将gmail的cert变更了。单纯的使用msmtp确认一下： % msmtp --serverinfo --host=smtp.gmail.com --tls=on --port=587 --tls-certcheck=off SMTP server at smtp.gmail.com ([74.125.53.109]), port 587: mx.google.com ESMTP r20sm18086225wam.17 TLS certificate information: Owner: Common Name: smtp.gmail.com Organization: Google Inc Locality: Mountain View State or Province: California Country: US Issuer: Common [...]]]></description>
			<content:encoded><![CDATA[<p>大约一年前我写了《<a title="通过mutt使用gmail" href="http://www.adamjiang.com/archives/33" target="_blank">通过mutt使用gmail</a>》，之后因为更换新机器有没有时间再将</p>
<p>mutt等工具配置起来；今天重新在新的gentoo系统上配置Mutt使用gmail却发现原<br />
来的方法出错了。</p>
<p>错误消息如下</p>
<pre>msmtp: TLS certificate verification failed: the certificate hasn’t got a
known issuer.</pre>
<p>很显然，google将gmail的cert变更了。单纯的使用msmtp确认一下：</p>
<pre>% msmtp --serverinfo --host=smtp.gmail.com --tls=on --port=587 --tls-certcheck=off
SMTP server at smtp.gmail.com ([74.125.53.109]), port 587:
    mx.google.com ESMTP r20sm18086225wam.17
TLS certificate information:
    Owner:
        Common Name: smtp.gmail.com
        Organization: Google Inc
        Locality: Mountain View
        State or Province: California
        Country: US
    Issuer:
        Common Name: Google Internet Authority
        Organization: Google Inc
        Country: US
    Validity:
        Activation time: 2010年04月23日 05時02分45秒
        Expiration time: 2011年04月23日 05時12分45秒
    Fingerprints:
        SHA1: 1A:6F:48:8F:BE:5B:FD:92:D8:12:30:F9:22:CE:84:49:B3:43:BD:2C
        MD5:  60:39:DE:FB:0A:D9:9E:43:26:E7:75:AC:60:48:A1:B0
Capabilities:
    SIZE 35651584:
        Maximum message size is 35651584 bytes = 34.00 MB
    STARTTLS:
        Support for TLS encryption via the STARTTLS command
    AUTH:
        Supported authentication methods:
        PLAIN LOGIN</pre>
<p>之前使用过的Thwate Server已经过期了，Issuer字段变成了由google之间给<br />
cert。:(</p>
<p>幸好，修复这个错误非常容易，在debain或者ubuntu系统上可以安装<br />
ca-certificates包来修复这个错误。</p>
<pre># sudo apt-get install ca-certificates
# dpkg -s ca-certificates | grep Version
Version: 20090814</pre>
<p>然后，只要更改~/.msmtprc文件就可以了，将tls_trust_file改正为</p>
<pre>tls_trust_file /usr/share/ca-certificates/mozilla/Equifax_Secure_CA.crt</pre>
<p>gentoo用户需要将这个文件download下来，并且重新指定tls的位置：</p>
<p><a href="http://sysinf0.klabs.be/usr/share/ca-certificates/mozilla/Equifax_Secure_CA.crt?f=download;dist=etch;component=main;arch=i386;pkg=ca-certificates;ver=20070303" title="Equifax_Secure_CA.crt"></p>
<p>http://sysinf0.klabs.be/usr/share/ca-certificates/mozilla/Equifax_Secure_CA.crt?f=download;dist=etch;component=main;arch=i386;pkg=ca-certificates;ver=20070303</p>
<p></a></p>
<p>P.S. 博客并不适合用来记录这样内容，但是，前一篇gmail相关文章已经贴到了博<br />
客，照例还是帖一篇上来吧，各位见谅。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.adamjiang.com/archives/858/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

