Template based email sending with SMTP connection management
Project description
# django-emailer
Template based email sending with SMTP connection management. Use this along
with your transactional email sending provider.
## Install
Get ready for a long process.
$ pip install django-emailer
Add `'emailer'` to your `INSTALLED_APPS` setting then migrate/sync
emailer models into the database.
$ python manage.py syncdb
Done.
## How to use
You now have two new entities to play with: `ConnectionProfile` and
`EmailTemplate`. Reach them through Django's admin to configure new SMTP
connections to use and set up your email templates as such:
* `Name`: uppercase, underscode-separated words, **invariable** name to
define your template.
* `Connection profile`: the STMP connection profile you created.
* `Base template name`: set a different one of yours if you need a fancy
email template. Otherwise, `email/default.html` is just fine.
* `Subject`: your email subject. Accepts Django context dictionary.
* `Content`: you email body. Will be rendered into the `{{ content }}`
template variable. Accepts Django context dictionary, of course.
emailer has a very simple API, usable as follows:
from emailer.models import EmailTemplate
email = EmailTemplate.get('YOUR_EMAIL_TEMPLATE_NAME').render(
to='recipient@example.com',
context={
'customer_name': 'John Doe',
})
email.send()
Note that the `context` argument will be used for both the subject and
content of your email.
**Protip**: Load your email templates into a fixture to ease the deploy
process. You may also need to have them dumped into test fixtures if you
[hopefully] write unit tests to your application.
Template based email sending with SMTP connection management. Use this along
with your transactional email sending provider.
## Install
Get ready for a long process.
$ pip install django-emailer
Add `'emailer'` to your `INSTALLED_APPS` setting then migrate/sync
emailer models into the database.
$ python manage.py syncdb
Done.
## How to use
You now have two new entities to play with: `ConnectionProfile` and
`EmailTemplate`. Reach them through Django's admin to configure new SMTP
connections to use and set up your email templates as such:
* `Name`: uppercase, underscode-separated words, **invariable** name to
define your template.
* `Connection profile`: the STMP connection profile you created.
* `Base template name`: set a different one of yours if you need a fancy
email template. Otherwise, `email/default.html` is just fine.
* `Subject`: your email subject. Accepts Django context dictionary.
* `Content`: you email body. Will be rendered into the `{{ content }}`
template variable. Accepts Django context dictionary, of course.
emailer has a very simple API, usable as follows:
from emailer.models import EmailTemplate
email = EmailTemplate.get('YOUR_EMAIL_TEMPLATE_NAME').render(
to='recipient@example.com',
context={
'customer_name': 'John Doe',
})
email.send()
Note that the `context` argument will be used for both the subject and
content of your email.
**Protip**: Load your email templates into a fixture to ease the deploy
process. You may also need to have them dumped into test fixtures if you
[hopefully] write unit tests to your application.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
django-emailer-0.2.1.tar.gz
(5.1 kB
view details)
File details
Details for the file django-emailer-0.2.1.tar.gz
.
File metadata
- Download URL: django-emailer-0.2.1.tar.gz
- Upload date:
- Size: 5.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c3ce11f0422869cbc1807bbd62d5e046e2b78e428f801114347a33df28db303 |
|
MD5 | bfa7d4d2fea544abc63205bbc43b4cd9 |
|
BLAKE2b-256 | 07d74ea8c902bbaef88b145b6cac5e264c62ed6a7234f2bebd0c123117e86e84 |