Python定时推送书籍到kindle 2022-03-07
为了彻底告别选择焦虑症,我一直希望能实现一种方法,就是每天定时向kindle随机推送一本书,最近终于通过python实现了(我几乎不懂Python,代码都是网上找的,然后修改修改,所以不难)。
方法如下:
1、下载大量mobi书籍;
2、重命名所有mobi书籍,名称为1.mobi、2.mobi、......4999.mobi;
3、建立Python程序发送书籍,每次文件名采用随机数确定,这样就实现了随机推送一本书;
4、建立bat脚本程序;
5、通过window任务定时执行脚本程序。
如需与我沟通,请联系zhangdewei0514@163.com
Python程序如下:
import smtplib
import random
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
if __name__ == '__main__':
fromaddr = 'zhangdeweiXXXX@163.com'#发件箱,需在账号里设置为白名单
password = 'XXXXXXXX'#邮箱密码或授权码
toaddrs = ['zhangdeweiXXXX_XX63b9@kindle.cn']#kindle邮箱
content = 'python自动推送书籍'
textApart = MIMEText(content)
bookname=random.randint(1,2495)
mobiFile = str(bookname)+".mobi"#获取电子书的名称
mobiApart = MIMEApplication(open(mobiFile, 'rb').read())
mobiApart.add_header('Content-Disposition', 'attachment', filename=mobiFile)
m = MIMEMultipart()#构建邮件
m.attach(textApart)
m.attach(mobiApart)
m['Subject'] = '电子书-'+str(bookname)+"mobi"
try:
server = smtplib.SMTP('smtp.163.com')
server.login(fromaddr,password)
server.sendmail(fromaddr, toaddrs, m.as_string())
print('success')
server.quit()
except smtplib.SMTPException as e:
print('error:',e) #打印错误
BAT脚本如下:
@echo off
start cmd /k "cd/d e:\book&& python mail.py&&exit"