django-basic-email
This Django Basic Email enable you to create emails in easy way.
This CMS is know to work on Django 1.4+ with Python 2.6+ and 3.3+
Instalation
Get package or install by pip:
pip install django-basic-email
Configuration
Modify your settings.py
. Add 'basic_email'
to your
INSTALLED_APPS
like this:
INSTALLED_APPS = (
...
'basic_email',
)
Add BASIC_EMAILS_DIRECTORY variable and point it to the directory you will use. Preferred:
BASIC_EMAIL_DIRECTORY = 'emails'
Usage
Create template emails/email_example.html
and txt version emails/email_example.txt
. If txt version is not available it will use html2text converted html version. Send email:
from basic_email.send import send_email
send_email('example', 'joe@doe.com', 'Hello')
- Options:
-
-
template
template name from schemeemails/email_<name>.html
(txt version is derived from this name by changing extension) -
email
- receiver email -
subject
- subject email -
variables
- dict with variables to pass to template render -
fail_silently
- flag if error in sending email should raise (defaultFalse
) -
replace_variables
- dict with variables to replace in template -
reply_to
- reply_to header -
attachments
- attachments list (file objects) -
memory_attachments
- attachments list (string objects)
-
Testing
- Fork repository (if you don't have write permission).
- Create a branch.
- Add feature or fix a bug.
- Push code.
- Create a Pull Request.
Automated tests
Require Tox>=1.8
Testing all platforms
tox
Testing one platforms
tox -e <platform>
Example:
tox -e py27-django-17
Testing interface
-
Create virtual environment:
# Preparing virtualenv paths (optional if your profile doesn't have it). export WORKON_HOME=~/Envs source /usr/bin/virtualenvwrapper_lazy.sh # or: source /usr/local/bin/virtualenvwrapper_lazy.sh # Start by creating a virtual environment using the helper scripts provided. Do not include the systems site-packages. mkvirtualenv django-basic-email --no-site-packages workon django-basic-email
-
Install
django-basic-email
in editable mode:pip install -e .
-
Run example project:
cd example_project && ./manage.py migrate && ./manage.py runserver