Skip to main content

Use an URL to configure email backend settings in your Django Application.

Project description

https://badge.fury.io/py/dj-email-url.svg

This utility is based on dj-database-url by Kenneth Reitz.

It allows to utilize the 12factor inspired environments variable to configure the email backend in a Django application.

Usage

Import the package in settings.py:

import dj_email_url

Fetch your email configuration values. The default option is fetch them from EMAIL_URL environment variable:

email_config = dj_email_url.config()

Other option is parse an arbitrary email URL:

email_config = dj_email_url.parse('smtp://...')

Finally, it is necessary to assign values to settings:

EMAIL_FILE_PATH = email_config['EMAIL_FILE_PATH']
EMAIL_HOST_USER = email_config['EMAIL_HOST_USER']
EMAIL_HOST_PASSWORD = email_config['EMAIL_HOST_PASSWORD']
EMAIL_HOST = email_config['EMAIL_HOST']
EMAIL_PORT = email_config['EMAIL_PORT']
EMAIL_BACKEND = email_config['EMAIL_BACKEND']
EMAIL_USE_TLS = email_config['EMAIL_USE_TLS']

Alternatively, it is possible to use this less explicit shortcut:

vars().update(email_config)

Supported backends

Currently, it supports:

  • SMTP backend (smtp and smtps for TLS),

  • console backend (console),

  • file backend (file),

  • in-memory backend (memory),

  • and dummy backend (dummy).

SMTP backend

The scheme smtps indicates to use TLS connections, that is to set EMAIL_USE_TLS to True.

It is possible to specify SSL using a ssl=True as a query parameter:

>>> url = 'smtp://user@domain.com:pass@smtp.example.com:465/?ssl=True'
>>> url = dj_email_url.parse(url)
>>> assert url['EMAIL_USE_SSL'] is True

File backend

The file backend is the only one which needs a path. The url path is store in EMAIL_FILE_PATH key.

Change Log

0.0.5 - 2016-04-17

  • Allow URL encoded credentials (thanks kane-c).

0.0.4 - 2015-03-05

  • Fix README.

0.0.3 - 2015-03-05

  • Add change log.

  • Add ssl= option as a query parameter for SMTP backend.

  • Add Travis continuous integration.

0.0.2 - 2014-03-12

  • Add Python 3 support.

0.0.1 - 2013-02-12

  • Initial version.

CI status

Development (master):

https://travis-ci.org/migonzalvar/dj-email-url.svg?branch=master

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

dj-email-url-0.0.5.tar.gz (3.3 kB view details)

Uploaded Source

Built Distribution

dj_email_url-0.0.5-py2.py3-none-any.whl (5.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file dj-email-url-0.0.5.tar.gz.

File metadata

File hashes

Hashes for dj-email-url-0.0.5.tar.gz
Algorithm Hash digest
SHA256 e1d639a587fd4f0b54aedefe162cf99a3d0cbd3028fcbf921b0160a630c3f131
MD5 0bc116d44469270e2c4794ce28929159
BLAKE2b-256 27ef17b8f2cbdd17c54d67fa037bd13a062eab4788179a33de4a7f3571d20e27

See more details on using hashes here.

File details

Details for the file dj_email_url-0.0.5-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for dj_email_url-0.0.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 954890dc915cc3907a135d95fb0cbd0674361ce09a616ab79c8792c3aaaf5030
MD5 ae4e39fc26107f05caa078294bb9f319
BLAKE2b-256 9e2ff24c07d43217dcd9cd0be9669f324ab9c2586311b928eaa3ea6aec92780b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page