Skip to content

Commit 852f26f

Browse files
committed
refine smtp code
1 parent 8648f48 commit 852f26f

File tree

3 files changed

+34
-26
lines changed

3 files changed

+34
-26
lines changed

apps/pushnotification/constants.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1+
from ...secret import MAILER_PW
2+
13
port = 465 # For starttls
24
smtp_server = "smtp.gmail.com"
35
sender_email = "[email protected]"
4-
subject = "Message from Ticketmaster Ticket-Tracker"
5-
app_password = "XXXXXXXXXXXX" # The password is stored in local
6-
receiver_email = ["[email protected]"]
6+
subject = "Message from Ticketmaster Ticket Tracker"
7+
app_password = MAILER_PW

apps/pushnotification/smtp.py

Lines changed: 28 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,41 @@
1-
import smtplib, ssl
1+
from smtplib import SMTP_SSL
2+
from ssl import create_default_context
23
from email.message import EmailMessage
3-
from constants import *
4+
from . import constants
45

5-
password = app_password # The password is stored in local
66

77
def init_server():
8-
context = ssl.create_default_context()
9-
server = smtplib.SMTP_SSL("smtp.gmail.com", 465, context=context)
8+
context = create_default_context()
9+
server = SMTP_SSL(constants.smtp_server, constants.port, context=context)
1010
return server
1111

12-
def server_login(server, password):
13-
email = sender_email
14-
server.login(email, password)
1512

16-
def server_send_email(server, receiver_email, message):
17-
receiver_email = receiver_email
18-
sender_email = sender_email
19-
subject = "Email from ticketmaster Best Seat App"
13+
def server_login(server: SMTP_SSL, password: str):
14+
return server.login(constants.sender_email, password)
2015

16+
17+
def auth_server(server: SMTP_SSL):
18+
server_login(server, constants.app_password)
19+
20+
21+
server = init_server()
22+
# auth_server(server)
23+
24+
25+
def server_send_email(server: SMTP_SSL, receiver_emails: list[str], message: str):
2126
em = EmailMessage()
22-
em['From'] = sender_email
23-
em['To'] = receiver_email
24-
em['subject'] = subject
27+
em['From'] = constants.sender_email
28+
em['To'] = receiver_emails
29+
em['subject'] = constants.subject
2530

2631
em.set_content(message)
27-
server.sendmail(sender_email, receiver_email, em.as_string())
28-
29-
def send_email(receiver_email, message):
30-
server = init_server()
31-
server_login(server, password)
32-
server_send_email(server, receiver_email, message)
32+
return server.sendmail(constants.sender_email, receiver_emails, em.as_string())
3333

3434

35-
send_email(["[email protected]"], password)
35+
def send_email(receiver_emails: list[str], message: str):
36+
try:
37+
err = server_send_email(server, receiver_emails, message)
38+
if err is not None:
39+
raise Exception('could not send email to the receiver')
40+
except Exception as ex:
41+
print(ex)

secret.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
import os
22

3-
CONN_SRV = os.environ.get('CONN_SRV')
3+
CONN_SRV = os.environ.get('CONN_SRV')
4+
MAILER_PW = os.environ.get('MAILER_PW', '')

0 commit comments

Comments
 (0)