A Django Email Backend for Submail.
Project description
An easy django email backend to send email using Submail’s python Mail API.
Requirements
Django >= 1.8. Django with other versions are not tested.
Installation
Install the backend from PyPI:
pip install django-submail
Add the following lines to your project’s settings.py or your local settings:
EMAIL_BACKEND = "smbackend.SubmailBackend"
SUBMAIL_APP_ID = "Your Submail APPID"
SUBMAIL_APP_KEY = "Your Submail APPKey"
Usage
If you use send_mail method, you can simply do it by, for example:
from django.core.mail import send_mail
send_mail(
"Your Subject",
"This is a pure text email body.",
"Dong Zhuang <hello@foo.com>",
["dongzhuang@bar.com"]
)
If you want to use the EmailMessage class, then:
from django.core.mail import EmailMessage
mail = EmailMultiAlternatives(
subject="Your Subject",
body="This is a pure text email body.",
from_email="Dong Zhuang <hello@example.com>",
to=["dongzhuang@foo.com"],
headers={"Reply-To": "dongzhuang@bar.com"}
)
mail.send()
If you want to use the EmailMultiAlternatives class, then:
from django.core.mail import EmailMultiAlternatives
mail = EmailMultiAlternatives(
subject="Your Subject",
body="This is a pure text email body.",
from_email="Dong Zhuang <hello@example.com>",
to=["dongzhuang@foo.com"],
headers={"Reply-To": "dongzhuang@bar.com"}
)
mail.attach_alternative(
"<p>This is an HTML email body</p>", "text/html")
mail.send()
Sometimes you need to send some other emails using APPID other than the default SUBMAIL_APP_ID set in settings.py, you can use add SUBMAIL_APP_ID and SUBMAIL_APP_KEY keys in header, for example:
from django.core.mail import EmailMultiAlternatives
mail = EmailMultiAlternatives(
subject="Your Subject",
body="This is a simple text email body.",
from_email="Dong Zhuang <hello@example.com>",
to=["dongzhuang@foo.com"],
headers={
"Reply-To": "dongzhuang@bar.com",
"SUBMAIL_APP_ID": settings.ANOTHER_APP_ID,
"SUBMAIL_APP_KEY": settings.ANOTHER_APP_KEY}
)
mail.attach_alternative("<p>This is an HTML email body</p>", "text/html")
mail.send()
DEMO
A demo is included in the repository, you can clone the git and run it locally.
You can optionally run the demo using virtualenv.
pip install virtualenv
virtualenv venv
venv/scripts/activate
Then
pip install django
pip install django-submail
git clone https://github.com/dzhuang/django-submail.git
cd django-submail/demo
python manage.py migrate
Make a copy of example local settings:
cd demo
cp settings_local.py.example settings_local.py
vi settings_local.py
Edit params in settings_local.py according to your own submail app, and edit demo/test_smbackend/views.py if necessary, then run the dev server:
cd ..
python manage.py runserver
and visit http://127.0.0.1:8000 to see the result.
TODOs
Support Submail’s mail/xsend API
Support Submail’s addressbook
LICENSE
The MIT License.
Contribution
Django-submail is wholly open source and welcomes contributions of any kind. Feel free to either extend it, report bugs, or provide suggestions for improvements. The author of can be contacted at dzhuang.scut@gmail.com.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file django-submail-1.4.0.tar.gz
.
File metadata
- Download URL: django-submail-1.4.0.tar.gz
- Upload date:
- Size: 12.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ea99adc3c91e10c24d8d2115b94d6c9491401cb3901a9a90d312ea0ce9eb907 |
|
MD5 | fb7e89bd3d9d8797f52477bb6c3c1cde |
|
BLAKE2b-256 | 5330733180620f8052554e6e4aa512ce0bf245e98f944e5f91ef127b5ffdd747 |
File details
Details for the file django_submail-1.4.0-py3-none-any.whl
.
File metadata
- Download URL: django_submail-1.4.0-py3-none-any.whl
- Upload date:
- Size: 20.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9937683a9a3201c7a98846fc4e90b951879cc547d8623a5bc410f74789eaccff |
|
MD5 | c88c41f5982ee495315f0b0e68d0e4e6 |
|
BLAKE2b-256 | cd7a2f4fd6dfe6e9c05ab54e5feb6fe3a5beb408d42ec571d56538e6bb5a3ae2 |