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

其实自己用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 timefile_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_emailself.msg['from'] = self.from_emailself.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实现kindle每天推送博客1----kindle推送原理,python实现qq邮箱登录及邮件发送相关推荐

  1. python模拟足球射门_[转载]博客园仿真足球竞赛平台Python版SDK

    为了方便喜欢Python的同学能使用Python开发自己的球队,所以编写了此SDK.这个SDK 基本上是参照C#版SDK改过来的,除了一些复杂的几何算法没有实现外,其他功能都已实现.喜欢的朋友可以自己 ...

  2. hexo推送博客gitee 踩坑

    本文重在排坑. hexo 推送博客 gitee 1. 安装node.js 什么是node.js 2. 安装npm 3. nodejs .npm环境变量配置 4. git工具的安装及配置 5. hexo ...

  3. python个人博客搭建说明书_技术分享|利用Python Django一步步搭建个人博客(二)...

    原标题:技术分享|利用Python Django一步步搭建个人博客(二) Hello,欢迎来到我们的"利用Python Django一步步搭建个人博客"系列的第二部分.在第一部分中 ...

  4. python入门指南bl-Python Flask开源博客系统Bl

    本博文在51CTO技术博客首发. 开源不易,Python良心之作,真心送给广大朋友,恳请给予支持,不胜感激! 大家可以从下面的地址中去体验Blog_mini的功能,我把副本部署在了腾讯云上供大家使用: ...

  5. 用python搭建个人博客过程_技术分享|利用Python Django一步步搭建个人博客(四)...

    您好,欢迎来到本期"利用Python Django一步步搭建个人博客"系列的第四部分.在上一篇教程中,我们学习了如何编写URL并将其映射到页面.在我们继续之前,我们需要做的一件事是 ...

  6. Python 用Django创建自己的博客(2)

    ####开篇 Python 用Django创建自己的博客(上)中主要记录了项目的创建,项目的文件结构,后台超级用户的创建,数据库的增添数据等,这篇博客的主要是加载html静态文件和显示之间的加载逻辑等 ...

  7. python实现kindle每天推送博客2----python实现爬取博客内容

    python爬虫教程很多, 本文以爬取博客为例 1. Beautiful Soup Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据 为节约篇幅,安装方法自行百度 解析 ...

  8. python 投票脚本_使用Python脚本拉取2014 CSDN博客之星投票情况

    前言 最近在自学Python,正好2014 CSDN博客之星投票搞得如火如荼,拿来练练手. 环境:Win7 64位 Python 2.7: 用到了正则表达式.函数.写文件.urllib2: 没有用到线 ...

  9. python开发个人博客_手把手教你用 Python + Flask 搭建个人博客

    Python 的语言特性使得自身编写 Web 框架极其容易,现在已经有上百种用 Python 编写的 Web 开发框架,其中用户量最大的两个就是 Django 和 Flask. Django 和 Fl ...

最新文章

  1. apache rewrite规则详解
  2. php网站怎么缓存,一个php网站缓存代码分享
  3. OpenCv学习笔记(二)--Mat矩阵(图像容器)的创建及CV_8UC1,CV_8UC2等参数详解
  4. 实现两(三)列等高布局的方法
  5. [PyTorch] 神经网络处理图像
  6. docker实践第二版pdf 网盘_【漫画】什么是 docker?docker 应用场景解析
  7. 用于构建高级媒体应用程序的工具
  8. 自学python-自学python编程的方法路线
  9. firefox浏览器和IE
  10. C#窗体控件-文本框控件TextBox
  11. k2p拆机ttl刷breed_最新k2p 22.10.3.42;22.10.3.38和k2 22.6.532.231拆机ttl刷breed图文教程
  12. java实现学生、老师信息管理系统
  13. IE5的兼容问题——记录给自己看的
  14. swustoj 143 汉诺塔
  15. 正式入职开发工程师工作近半年有感
  16. Base64使用案例
  17. STM32 解析 JSON 之 cJSON
  18. 黄芽菜和大白菜的区别 黄芽菜的做法
  19. 数据结构与算法一:时间频度和时间复杂度
  20. 晶体三极管及其基本放大电路

热门文章

  1. 基于python实现屏幕共享
  2. json转化过慢的调优
  3. Endpoint Central自动化软件部署
  4. UE4中蓝图实现小地图——雷达图篇
  5. 分享一个务实派 CEO 的理念和实践
  6. TF-PLA 转铁蛋白修饰聚乳酸 Transferrin-PEG-PLA
  7. HTML中表格标签<table><tr><tb><th>中单元格的合并问题
  8. 策略模式总结,适用场景,优缺点,代码示例
  9. 【设计模式】工厂方法模式
  10. 膜拜单车显示服务器忙,摩拜单车为什么扫码没反应闪退_摩拜单车服务器故障_3DM手游...