将电子书通过python脚本发送到kindle

每次下载的kindle电子书都要打开邮箱再发送到kindle上面,感觉很麻烦,于是打算用python脚本实现快速发送电子。

实现的效果是:将电子书拖入指定的文件夹——执行脚本——电子书推送到kindle——再将本文件夹的电子书放入backup文件夹

1、基本思路

2、具体实现

#!/usr/bin/python3
import os
import getpass
import shutil
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication

# Email地址和口令
from_addr = 'sender@e-mail.com'  # input('From: ')
password = getpass.getpass('Password: ')
to_addr = 'xxxx@kindle.cn'  # input('to: ')
# SMTP服务器地址
smtp_server = 'smtp-mail.xxxx.com'  # input('SMTP server: ')
server = smtplib.SMTP(smtp_server, 25)  # 默认端口为25

# 加密
server.starttls()
# 登录
bLogin = False
while not bLogin:
        try:
                server.login(from_addr, password)
                bLogin = True
        except smtplib.SMTPAuthenticationError:
                password = getpass.getpass('Invalid Password ReEnter: ')


msg = MIMEMultipart()
msg["Subject"] = "e-book"
msg["From"] = from_addr
msg["To"] = to_addr

# 电子书格式
bookformat = ('.AZW3','.AZW','.TXT','.PDF','.MOBI','.HTML','.DOC','.DOCX','.JPEG','.GIF','.PNG','.BMP',
'.azw3','.azw','.txt','.pdf','.mobi','.html','.doc','.docx','.jpeg','.gif','.png','.bmp')


curr_dir = os.path.dirname(os.path.realpath(__file__))  # 当前目录
curr_dir_file = os.listdir(curr_dir)  # 当前目录中的文件
bkup_dir_name = curr_dir+'/'+'backup'  # 备份文件目录
# 创建备份目录
if not os.path.exists(bkup_dir_name):
        os.mkdir(bkup_dir_name)
# 将当前目录所有的电子书格式的文件attach到msg
for send_file_name in curr_dir_file:
    if send_file_name.endswith(bookformat):
        file_dir_name = curr_dir + '/'+send_file_name
        f = open(file_dir_name, 'rb')
        mime = MIMEApplication(f.read())
        f.close()
        mime.add_header('Content-Disposition', 'attachment', filename=send_file_name)
        msg.attach(mime)
        shutil.move(file_dir_name,bkup_dir_name+'/'+send_file_name)

# 发送
server.sendmail(from_addr, to_addr, msg.as_string())
server.quit()

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值