1
0
Fork 1
mirror of https://github.com/coddingtonbear/django-mailbox.git synced 2026-07-09 22:38:19 +02:00

Added initial smtp transport.

This commit is contained in:
Jabrail Lezgintsev 2018-05-23 11:53:49 +03:00
parent 26786a0b32
commit 41dd2ec645
2 changed files with 51 additions and 0 deletions

2
.gitignore vendored
View file

@ -13,3 +13,5 @@ dummy_project/*
.tox/
messages
*.sqlite3
venv/*
.idea/

View file

@ -0,0 +1,49 @@
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
# from django.conf import settings
# from django.core.mail import EmailMessage
from django_mailbox.transports.base import EmailTransport, MessageParseError
class SMTPTransport(EmailTransport):
def __init__(self,
hostname, port=None, ssl=False, tls=False):
self.hostname = hostname
self.port = port
self.tls = tls
if ssl:
self.transport = smtplib.SMTP_SSL
if not self.port:
self.port = 465
else:
self.transport = smtplib.SMTP
if not self.port:
self.port = 25
def connect(self, username, password):
self.server = self.transport(self.hostname, self.port)
if self.tls:
self.server.starttls()
typ, msg = self.server.login(user=username, password=password)
# TODO Add abilities for html, image sending.
def send_message(self, subject, message, from_email, recipient_list):
msg = MIMEMultipart(message)
msg_text = MIMEText(message, 'plain')
msg.attach(msg_text)
msg['From'] = from_email
msg['To'] = recipient_list
msg['Subject'] = subject
self.server.sendmail(msg['From'], msg['To'], msg.as_string())
self.server.quit()