python实现kindle每天推送博客1----kindle推送原理,python实现qq邮箱登录及邮件发送
2017-08-03 17:42
671 查看
kindle想每天看新闻,看博客,
其实自己用python写个代码就能很简单实现了。
1.kindle推送原理
kindle不仅可以买书看书,还可以自己推送内容
原理很简单,往你个人的kindle邮箱发邮件,附件为你要推送的内容即可。
登录亚马逊官网,点击管理我的内容和设备,进入设置,找到
记这个邮箱为A
然后你需要有个自己的常用邮箱,我是qq邮箱,记这个邮箱为B
把B添加到
至此已完成设置。
注意kindle推送的规则:
Kindle个人文档服务目前只能转换并发送以下类型的文档:
Microsoft Word (.doc, .docx)
RTF文件(.rtf)
HTML(.htm, .html)
TXT文件(.txt)
Zip, x-zip压缩文件
Mobi格式电子书
JPEG (.jpg), GIF (.gif), Bitmap (.bmp) 和 PNG (.png) 格式的图片。
Adobe PDF (.pdf)文档可维持原文件格式,发送至您的Kindle。
Adobe PDF (.pdf)文档可转换为Kindle格式发送,目前处于试用阶段。
2.qq邮箱登录
这里需要用到python的email模块
网上有很多例子,我也上下我的例子
代码里to email就是A,from email就是B
网上很多都是直接账号密码登录,但是实际很多邮箱为了安全,smtp登录都要用授权码,qq邮箱也不例外
可以自己到qq邮箱去设置,获得授权码后登录。
网上很多例子的登录都不是ssl的,qq邮箱是登录不了的,要通过ssl端口登录才不会有问题。
问题及解决:
经常会遇到
报错,原因是编码问题,解决方法是
但是直接这样用又会报错
需要先reload
这里比较奇怪
3.kindle推送邮件
4.每天爬取博客内容
这两个章节在下一个文章讲
其实自己用python写个代码就能很简单实现了。
1.kindle推送原理
kindle不仅可以买书看书,还可以自己推送内容
原理很简单,往你个人的kindle邮箱发邮件,附件为你要推送的内容即可。
登录亚马逊官网,点击管理我的内容和设备,进入设置,找到
〖发送至Kindle〗电子邮箱,
记这个邮箱为A然后你需要有个自己的常用邮箱,我是qq邮箱,记这个邮箱为B
把B添加到
已认可的发件人电子邮箱列表
至此已完成设置。注意kindle推送的规则:
Kindle个人文档服务目前只能转换并发送以下类型的文档:
Microsoft Word (.doc, .docx)
RTF文件(.rtf)
HTML(.htm, .html)
TXT文件(.txt)
Zip, x-zip压缩文件
Mobi格式电子书
JPEG (.jpg), GIF (.gif), Bitmap (.bmp) 和 PNG (.png) 格式的图片。
Adobe PDF (.pdf)文档可维持原文件格式,发送至您的Kindle。
Adobe PDF (.pdf)文档可转换为Kindle格式发送,目前处于试用阶段。
2.qq邮箱登录
这里需要用到python的email模块
网上有很多例子,我也上下我的例子
#!/usr/bin/env python #coding=utf-8 # # Copyright 2017 liuxinxing # from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart import smtplib import os import sys reload(sys) sys.setdefaultencoding('utf-8') import zipfile import time file_dir=os.path.dirname(os.path.realpath(__file__)) class sendmail(): 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 # 加邮件头 def gen_msghead(self): self.msg['to'] = self.to_email self.msg['from'] = self.from_email self.msg['subject'] = self.email_subject # 添加附件,可多次添加 def add_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) #发送邮件 def send(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 '发送成功' except Exception, e: print str(e) if __name__=="__main__": a=sendmail() a.gen_msghead() # a.add_attachment(file_dir+"/data/") a.send()
代码里to email就是A,from email就是B
网上很多都是直接账号密码登录,但是实际很多邮箱为了安全,smtp登录都要用授权码,qq邮箱也不例外
可以自己到qq邮箱去设置,获得授权码后登录。
网上很多例子的登录都不是ssl的,qq邮箱是登录不了的,要通过ssl端口登录才不会有问题。
问题及解决:
经常会遇到
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-78: ordinal not in range(128)
报错,原因是编码问题,解决方法是
import sys sys.setdefaultencoding('utf-8')
但是直接这样用又会报错
AttributeError: 'module' object has no attribute 'setdefaultencoding'
需要先reload
import sys reload(sys) sys.setdefaultencoding('utf-8')
这里比较奇怪
3.kindle推送邮件
4.每天爬取博客内容
这两个章节在下一个文章讲
相关文章推荐
- python实现自动登录qq邮箱,写邮件并发送
- python实现kindle每天推送博客2----python实现爬取博客内容
- python利用smtplib实现QQ邮箱发送邮件
- Python实现给qq邮箱发送邮件的方法
- Python利用QQ邮箱发送邮件的实现方法(分享)
- java实现qq邮箱每天定时发送邮件
- python实现获取天气信息后自动登录邮箱发送到指定邮件联系人
- Python登录qq邮箱发送邮件(附件)
- Python实现给qq邮箱发送邮件的方法
- Python3+smtplib+poplib+imaplib实现发送和收取邮件(以qq邮箱为例)
- 用socket发送匿名邮件之python实现
- 一步一步从原理跟我学邮件收取及发送 2.邮箱的登录和base64
- Python模块探秘之一:smtplib,实现纯文本邮件的发送
- python(通过flask实现一个http接口)调用这个接口实现第三方smtp发送邮件
- python 发送邮件(QQ邮箱)
- python发送邮件功能实现代码
- python实现QQ机器人(自己主动登录,获取群消息,发送群消息)
- python smtplib模块实现发送邮件带附件sendmail
- python3.5 email实现发送邮件功能
- selenium2+python3自动化2-csdn写博客(邮件发送附件测试报告)