forked from wbh123456/RingBell
-
Notifications
You must be signed in to change notification settings - Fork 0
/
gmailAuto.py
94 lines (83 loc) · 3.64 KB
/
gmailAuto.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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from datetime import datetime
import BellRingMatch as m
import email_contents as c
import environment
mail_host = 'smtp.gmail.com'
mail_user = environment.EMAIL_SENDER[0]
mail_pass = environment.EMAIL_SENDER[1]
sender = environment.EMAIL_SENDER[0]
def sendGmail(html_content,receiver,title):
message = MIMEMultipart('alternative')
message['Subject'] = title
message['From'] = sender
message['To'] = receiver
text = ""
html = html_content
part1 = MIMEText(text, 'plain')
part2 = MIMEText(html, 'html')
message.attach(part1) # text must be the first one
message.attach(part2) # html must be the last one
try:
smtpObj = smtplib.SMTP('smtp.gmail.com', 587)
#smtpObj.connect(mail_host,25)
smtpObj.ehlo()
smtpObj.starttls()
smtpObj.login(mail_user,mail_pass)
smtpObj.sendmail(
sender,receiver,message.as_string())
smtpObj.quit()
print('success')
except smtplib.SMTPException as e:
print('error',e)
raise SystemExit("Error on sending email, quit program")
def generate_email_content(bell_ringer, listener, time, if_internal):
succeed_title = '解聆人线上倾听 (匹配成功 :)'
fail_title = '解聆人线上倾听 (匹配失败 :('
if if_internal:
internal_messg = "[*内测*]"
succeed_title = internal_messg + succeed_title
fail_title = internal_messg + fail_title
#------bell ringer email content------
if listener != -1:
br_content = c.html_br_content_success
br_content = br_content.replace("@X",bell_ringer.name,1)
br_content = br_content.replace("@X",listener.name,1)
br_content = br_content.replace("@X",time,1)
br_content = br_content.replace("@X",listener.name,1)
br_content = br_content.replace("@X",listener.email,1)
title = succeed_title
else:
br_content = c.html_br_content_fail
br_content = br_content.replace("@X",bell_ringer.name,1)
title = fail_title
#------listener email content------
if listener != -1:
l_content = c.html_l_content
l_content = l_content.replace("@X",listener.name,1)
l_content = l_content.replace("@X",bell_ringer.name,1)
l_content = l_content.replace("@X",time,1)
l_content = l_content.replace("@X",bell_ringer.name,1)
l_content = l_content.replace("@X",bell_ringer.name,1)
l_content = l_content.replace("@X",bell_ringer.email,1)
l_content = l_content.replace("@X",bell_ringer.topic,1)
l_content = l_content.replace("@X",bell_ringer.need,1)
l_content = l_content.replace("@X",bell_ringer.condition,1)
l_content = l_content.replace("@X",bell_ringer.other_info,1)
title = succeed_title
else:
l_content = -1
#------developer email content------
if listener != -1:
d_content = c.html_developer_content
d_content = d_content.replace("@X",bell_ringer.name,1)
d_content = d_content.replace("@X",bell_ringer.application_time.strftime("%Y-%m-%d, %H:%M:%S %Z"),1)
d_content = d_content.replace("@X",listener.name,1)
d_content = d_content.replace("@X",time,1)
else:
d_content = c.html_developer_content_fail
d_content = d_content.replace("@X",bell_ringer.name,1)
d_content = d_content.replace("@X",bell_ringer.application_time.strftime("%Y-%m-%d, %H:%M:%S %Z"),1)
return br_content, l_content, d_content,title