python实现kindle每天推送博客1----kindle推送原理,python实现qq邮箱登录及邮件发送

阅读:1062 2019-03-20 14:08:25 来源:新网

kindle想每天看新闻,看博客,

其实自己用python写个代码就能很简单实现了。

1.kindle推送原理

kindle不仅可以买书看书,还可以自己推送内容

原理很简单,往你个人的kindle邮箱发邮件,附件为你要推送的内容即可。

登录亚马逊官网,点击管理我的内容和设备,进入设置,找到

2.qq邮箱登录

这里需要用到python的email模块

网上有很多例子,我也上下我的例子

#!/usr/bin/envpython#coding=utf-8##copyright2017liuxinxing#fromemail.mime.textimportmimetextfromemail.mime.multipartimportmimemultipartimportsmtplibimportosimportsysreload(sys)sys.setdefaultencoding('utf-8')importzipfileimporttimefile_dir=os.path.dirname(os.path.realpath(__file__))classsendmail():def__init__(self):self.msg=mimemultipart()self.to_email='aaaaa@kindle.cn'self.from_email='bbbbbb@qq.com'self.email_subject='kindle推送邮件'self.smtpserver='smtp.qq.com'self.sslport=465#加邮件头defgen_msghead(self):self.msg['to']=self.to_emailself.msg['from']=self.from_emailself.msg['subject']=self.email_subject#添加附件,可多次添加defadd_attachment(self,dir):att1=mimetext(open(dir,'rb').read(),'base64','gb2312')att1["content-type"]='application/octet-stream'att1["content-disposition"]='attachment;filename=%s'%os.path.basename(dir)self.msg.attach(att1)#发送邮件defsend(self):try:server=smtplib.smtp_ssl(self.smtpserver,self.sslport)server.login('bbbbbbb','sssssss')#xxx为用户名,xxxxx为密码server.sendmail(self.msg['from'],self.msg['to'],self.msg.as_string())server.quit()print'发送成功'exceptexception,e:printstr(e)if__name__=="__main__":a=sendmail()a.gen_msghead()#a.add_attachment(file_dir+"/data/")a.send()

代码里toemail就是a,fromemail就是b

网上很多都是直接账号密码登录,但是实际很多邮箱为了安全,smtp登录都要用授权码,qq邮箱也不例外

可以自己到qq邮箱去设置,获得授权码后登录。

网上很多例子的登录都不是ssl的,qq邮箱是登录不了的,要通过ssl端口登录才不会有问题。

问题及解决:

经常会遇到

unicodeencodeerror:'ascii'codeccan'tencodecharactersinposition0-78:ordinalnotinrange(128)

报错,原因是编码问题,解决方法是

importsyssys.setdefaultencoding('utf-8')

但是直接这样用又会报错

attributeerror:'module'objecthasnoattribute'setdefaultencoding'

需要先reload

importsysreload(sys)sys.setdefaultencoding('utf-8')这里比较奇怪

3.kindle推送邮件

4.每天爬取博客内容

下一篇: 使用java发送邮箱
相关文章
{{ v.title }}
{{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
你可能感兴趣
推荐阅读 更多>
推荐商标

{{ v.name }}

{{ v.cls }}类

立即购买 联系客服