Introduction
This post has the complete code to send email through smtp server, with authentication.
Requirements
We need following parameters:
- SMTP Server host address
- SMTP Server port
- Sender Email
- Sender Email Credentials
from smtplib import SMTP_SSL as SMTP
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
class EmailClient:
def __init__(self):
self._mail_server = '<Your-email-smtp-server>'
self._mail_server_port = 587 # <smtp-server port number>
self._sender = "<sender email address>"
self._credentials = {
"username": "<sender email address>",
"password": "<password>"
}
def send_mail(self, recipients, subject, email_body):
msg = MIMEMultipart()
body = MIMEText(email_body, 'html')
msg['Subject'] = subject
msg.attach(body)
with SMTP(self._mail_server,port=self._mail_server_port) as conn:
conn.login(self._credentials['username'], self._credentials['password'])
conn.sendmail(self._sender, recipients, msg.as_string())












