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:
parent
26786a0b32
commit
41dd2ec645
2 changed files with 51 additions and 0 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -13,3 +13,5 @@ dummy_project/*
|
||||||
.tox/
|
.tox/
|
||||||
messages
|
messages
|
||||||
*.sqlite3
|
*.sqlite3
|
||||||
|
venv/*
|
||||||
|
.idea/
|
||||||
|
|
|
||||||
49
django_mailbox/transports/smtp.py
Normal file
49
django_mailbox/transports/smtp.py
Normal 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()
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue