Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
refine smtp code
  • Loading branch information
Jackiebibili committed Oct 25, 2022
commit 852f26f336724d536df459cde31a2dd5a5e460f6
7 changes: 4 additions & 3 deletions apps/pushnotification/constants.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from ...secret import MAILER_PW

port = 465 # For starttls
smtp_server = "smtp.gmail.com"
sender_email = "[email protected]"
subject = "Message from Ticketmaster Ticket-Tracker"
app_password = "XXXXXXXXXXXX" # The password is stored in local
receiver_email = ["[email protected]"]
subject = "Message from Ticketmaster Ticket Tracker"
app_password = MAILER_PW
50 changes: 28 additions & 22 deletions apps/pushnotification/smtp.py
Original file line number Diff line number Diff line change
@@ -1,35 +1,41 @@
import smtplib, ssl
from smtplib import SMTP_SSL
from ssl import create_default_context
from email.message import EmailMessage
from constants import *
from . import constants

password = app_password # The password is stored in local

def init_server():
context = ssl.create_default_context()
server = smtplib.SMTP_SSL("smtp.gmail.com", 465, context=context)
context = create_default_context()
server = SMTP_SSL(constants.smtp_server, constants.port, context=context)
return server

def server_login(server, password):
email = sender_email
server.login(email, password)

def server_send_email(server, receiver_email, message):
receiver_email = receiver_email
sender_email = sender_email
subject = "Email from ticketmaster Best Seat App"
def server_login(server: SMTP_SSL, password: str):
return server.login(constants.sender_email, password)


def auth_server(server: SMTP_SSL):
server_login(server, constants.app_password)


server = init_server()
# auth_server(server)


def server_send_email(server: SMTP_SSL, receiver_emails: list[str], message: str):
em = EmailMessage()
em['From'] = sender_email
em['To'] = receiver_email
em['subject'] = subject
em['From'] = constants.sender_email
em['To'] = receiver_emails
em['subject'] = constants.subject

em.set_content(message)
server.sendmail(sender_email, receiver_email, em.as_string())

def send_email(receiver_email, message):
server = init_server()
server_login(server, password)
server_send_email(server, receiver_email, message)
return server.sendmail(constants.sender_email, receiver_emails, em.as_string())


send_email(["[email protected]"], password)
def send_email(receiver_emails: list[str], message: str):
try:
err = server_send_email(server, receiver_emails, message)
if err is not None:
raise Exception('could not send email to the receiver')
except Exception as ex:
print(ex)
3 changes: 2 additions & 1 deletion secret.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import os

CONN_SRV = os.environ.get('CONN_SRV')
CONN_SRV = os.environ.get('CONN_SRV')
MAILER_PW = os.environ.get('MAILER_PW', '')