首页 编程教程正文

[Python]推送文档到kindle

piaodoo 编程教程 2020-02-22 22:14:22 1244 0 python教程

本文来源吾爱破解论坛

有kindle的同学,肯能大部分使用过亚马逊的推送服务,就是发一封带附件的邮件到你的亚马逊邮箱,然后附件就会通过wifi推送到你的kindle上。
因为懒得用USB,或者kindle给别人看了,加一本书进去,所以就用python写了一个小程序,就是选择电脑上的文档,云推送到kindle上。
首先你要有个带SMTP服务的邮箱,比如QQ邮箱,然后更改邮箱及密码,还要修改收件的亚马逊邮箱。
以下是代码:
[Python] 纯文本查看 复制代码

# -*- coding: utf-8 -*-
"""
Created on Thu Dec  5 16:45:42 2019

@author: Martin
"""

import smtplib
import email.mime.multipart
import email.mime.text
from email.mime.text import MIMEText

import tkinter.filedialog
from tkinter import *
import tkinter.messagebox

def send():
    msg = email.mime.multipart.MIMEMultipart()
    msgFrom = 'xxxxxxx@163.com' #SMTP的邮箱
    msgTo = 'xxxxx@kindle.cn' #亚马逊的邮箱
    smtpSever='smtp.163.com'  #SMTP的服务器
    smtpPort = '25'  #端口号
    sqm='xxxxxxxx' #邮箱密码
    
    msg['from'] = msgFrom
    msg['to'] = msgTo
    msg['subject'] = '[Kindle]Martin'
    
    content = '''
    Dear Martin,
        
        Please check this book.
        
    Auto send program
    '''
    txt = email.mime.text.MIMEText(content)
    msg.attach(txt)
    
    #附件
    #path=file_path
    #file_name=path+name+'.xlsx'
    att = MIMEText(open(file_path, 'rb').read(), 'base64', 'gb2312')
    att["Content-Type"] = 'application/octet-stream'
    att["Content-Disposition"] = 'attachment; filename='+file_path
    msg.attach(att)
    #
    smtp = smtplib
    smtp = smtplib.SMTP()
    
    smtp.connect(smtpSever, smtpPort)
    smtp.login(msgFrom, sqm)
    smtp.sendmail(msgFrom, msgTo, str(msg))
    
def callback1():
    global file_path
    file_path = tkinter.filedialog.askopenfilename(initialdir ="C:/Users/Martin/Downloads",filetypes=( ("亚马逊电子书格式", "*.mobi*"),("Excel 97-2003 工作簿", "*.xls")))
    t.insert('insert',file_path)
def t_k():
    root = Tk()
    root.title('发送文件至 Paper White 3')
    tkinter.Label(root, text='发送文件至kindle',bg='Gainsboro', font=('微软雅黑', 15,'bold'), width=400, height=2).pack()
    tkinter.Label(root, 
        text="软件使用说明:1,先选择文件,2,然后点击发送。\n --by Martin",
        bg='Gainsboro', font=('微软雅黑', 11), width=400, height=3).pack()
    fm=Frame(root)
    Button(fm, text="选择文件", font = ('微软雅黑',10),fg="DodgerBlue",bd=2,width=20,command=callback1, relief=GROOVE).pack(side=LEFT, anchor=W, fill=X, expand=YES)
    fm.pack(side=TOP)
    global t
    t = Text(root,height=1,font =('微软雅黑', 10), fg="Black",bg='White')
    t.pack()
    
    Button(fm, text="发送", font = ('微软雅黑',10), fg="DarkRed",bd=2,width=20,command=send, relief=GROOVE).pack(side=LEFT, anchor=W, fill=X, expand=YES)

    sw = root.winfo_screenwidth()#得到屏幕宽度
    sh = root.winfo_screenheight()#得到屏幕高度
    ww = 700
    wh = 350#窗口宽高为100
    x = (sw-ww) / 2
    y = (sh-wh) / 2
    root.geometry("%dx%d+%d+%d" %(ww,wh,x,y)) #窗口居中
    
    root.mainloop()
if __name__=='__main__':
    t_k()


里面已经写了注释,直接改就行。

版权声明:

本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。

有关影视版权:本站只供百度云网盘资源,版权均属于影片公司所有,请在下载后24小时删除,切勿用于商业用途。本站所有资源信息均从互联网搜索而来,本站不对显示的内容承担责任,如您认为本站页面信息侵犯了您的权益,请附上版权证明邮件告知【754403226@qq.com】,在收到邮件后72小时内删除。本文链接:https://www.piaodoo.com/7884.html

搜索