个人比较习惯用email更新博客,写日记用的blogger一直是手机写邮件更新,于是打算这个工作blog也要这么搞![](http://lh4.ggpht.com/_l8FcMjS-xnI/SiUuIXS5nXI/AAAAAAAAFG0/W1vfUhNmGVc/new%20photo.gif?imgmax=640)
运行环境:
python2.6(ubuntu)(其他版本未测),gdata库
部分代码:
源码下载:
非常不靠谱版本(等靠谱了就放到vps上长期运行
)
gmail2blog-sbeta.tar.gz
Gmail撰写截图:
screenshot_016.png
![](http://lh4.ggpht.com/_l8FcMjS-xnI/SiUuIXS5nXI/AAAAAAAAFG0/W1vfUhNmGVc/new%20photo.gif?imgmax=640)
wordpress自身有个通过邮件更新的功能,但是很弱,不支持附件.所以俺再次拿python做练习
实现方式:
发布blog时只要写信给somebody+xxoo@gmail.com
脚本会定时检查somebody@gmail邮箱,
实现特性:
实现方式:
发布blog时只要写信给somebody+xxoo@gmail.com
脚本会定时检查somebody@gmail邮箱,
取出收信人是somebody+xxoo@gmail.com的未读邮件(加xxoo为了防止垃圾邮件),然后将邮件正文中引用的图片取出,上传到blog或着picasa,将返回的地址作为图片的新地址,然后通过wordpress的metaWeblog api 发布到wordpress
实现特性:
- 可以通过添加"[[tag:t1,t2,t3]]"设定文章的标签
- 可以通过添加"[[cat:c1,c2]]"设定文章分类
- 可以添加"[[end]]"标记文章结尾,标记后面的字符将被忽略
- 可以添加[[html]][[/html]]块发布纯html代码块
- 可以将邮件中的图片提取,并上传到picasa或者wp
(备注:"[["实际使用用时要用三个,即"[[[xxxx]]]"这里用两个是因为本文也是通过这个脚本发布的)
python2.6(ubuntu)(其他版本未测),gdata库
部分代码:
def after_publish( self, mid ):
self.mail.read( mid )
#实例化一个Gmail2Blog,参数依次为:gmail帐号,gmail密码,wp帐号,wp密码,blog的xmlrpc地址
myG2B = Gmail2Blog( 'somebody@gmail.com', 'xxxx', 'admin', 'xxxx', 'http://xxoo.com/xmlrpc.php' )
#将处理完的邮件标记为已读
myG2B.publish_callback = after_publish
#设置图片的上传方式,'picasa':上传到账户的picasa相册,'wp':上传到blog
myG2B.upload2 = 'picasa'
while True:
#将收件箱中发送给'somebody+blog@gmail.com'的未读邮件发送到blog
myG2B.publish_mail( 'INBOX' , '(UNSEEN) (TO \"somebody+blog@gmail.com\")' )
#每隔十分钟检查一次
time.sleep( 60 * 10 )
非常不靠谱版本(等靠谱了就放到vps上长期运行
![](http://lh3.ggpht.com/_l8FcMjS-xnI/SiUuIRok4wI/AAAAAAAAFG4/XynMbvPzi_0/new%20photo.gif?imgmax=640)
gmail2blog-sbeta.tar.gz
![screenshot_016.png screenshot_016.png](http://lh5.ggpht.com/_l8FcMjS-xnI/SiUuI1KgYkI/AAAAAAAAFG8/tji9lyc-Oss/new%20photo.png?imgmax=640)
能不能告诉我具体怎么配置啊,方便的话加个Q详细讨论
yes,我已经把它做成一个网站了,哈哈,<a href="http://www.blogo2.com" rel="nofollow">http://www.blogo2.com</a>
现在好使了吗?
哦,我写的这个脚本需要在一个支持python的server上长期运行才可以,呵呵,如果有条件我可以帮助配置一下~
Hi 你好,我也使打算用email来更新wp,请问您具体是如何实现的?我现在正在组建一个多用户更新的blog我希望通过email来更新,这样比较方便,非常期待您的回信!!!!!感谢您的帮助!