-
Notifications
You must be signed in to change notification settings - Fork 0
/
send_to_kindle.py
60 lines (44 loc) · 1.65 KB
/
send_to_kindle.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
import os
import ast
import smtplib
import argparse
from email.message import EmailMessage
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
from email.mime.base import MIMEBase
from email import encoders
with open('config.txt') as f:
config = ast.literal_eval(f.read())
parser = argparse.ArgumentParser()
parser.add_argument('--email', help='set your email')
parser.add_argument('--bookname', help='set bookname')
args = parser.parse_args()
EMAIL_ADDRESS = config["email"]
EMAIL_PASSWORD = config["app_password"]
msg = MIMEMultipart()
msg['Subject'] = 'Convert'
msg['From'] = EMAIL_ADDRESS
msg['To'] = args.email
if os.path.isfile(os.path.join("AZW3", args.bookname.replace('.epub', '.mobi'))):
PATH = os.path.join("AZW3", args.bookname.replace('.epub', '.mobi'))
bookname = args.bookname.replace('.epub', '.mobi')
else:
PATH = os.path.join("EPUB", args.bookname)
bookname = args.bookname
with open(PATH,'rb') as f:
file_data = f.read()
file_name = bookname
#mobi = MIMEApplication(file_data)
#mobi.add_header('Content-Disposition', 'attachment', name=file_name, filename=file_name)
#msg.attach(mobi)
part = MIMEBase("application", "octet-stream")
part.set_payload(open(PATH, "rb").read())
encoders.encode_base64(part)
part.add_header('Content-Disposition', 'attachment', name=file_name, filename=file_name)
msg.attach(part)
#msg.add_attachment(file_data, maintype="application", subtype='octet-stream', filename=file_name)
with smtplib.SMTP_SSL('smtp.gmail.com', 465) as smtp:
smtp.login(EMAIL_ADDRESS, EMAIL_PASSWORD)
smtp.send_message(msg)
smtp.quit()
print('<--- EMAIL ENVIADO COM SUCESSO --->')