You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

55 lines
2.0 KiB

import smtplib, ssl
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
port = 587 # For starttls
smtp_server = "smtp.fibrenet.net.au"
sender_email = "alan.woodman@interphone.com.au"
receiver_email = "alan.woodman@interphone.com.au,helen.barbour@interphone.com.au,suzie.mcgregor@interphone.com.au"
#password = input("Type your password and press enter:")
class SendEmail():
def __init__(self) -> None:
self.smtp_server = "smtp.fibrenet.net.au"
self.smtp_port = 587
self.sender = "Accounts <accounts@interphone.com.au>"
self.receiver = None
self.message_type = "html"
self.subject = None
self.message_body_html = None
self.message_body_plain = None
def send(self):
message = MIMEMultipart("alternative")
message["Subject"] = self.subject
message["From"] = self.sender
message["To"] = self.receiver
# Turn these into plain/html MIMEText objects
if self.message_type == "plain":
part1 = MIMEText(self.message_body_plain, "plain")
message.attach(part1)
elif self.message_type == "html":
part2 = MIMEText(self.message_body_html, "html")
message.attach(part2)
elif self.message_type == "both":
part1 = MIMEText(self.message_body_plain, "plain")
message.attach(part1)
part2 = MIMEText(self.message_body_html, "html")
message.attach(part2)
# Create secure connection with server and send email
context = ssl.create_default_context()
try:
with smtplib.SMTP(smtp_server, port) as server:
#server.login(sender_email, password)
server.ehlo()
server.starttls(context=context)
server.ehlo() # Can be omitted
server.sendmail(
self.sender, self.receiver, message.as_string()
)
return True
except:
return False