Metadata-Version: 2.1
Name: django-email-relay
Version: 0.2.1
Summary: Centralize and relay email from multiple distributed Django projects to an internal SMTP server via a database queue.
Project-URL: Documentation, https://django-email-relay.westervelt.dev
Project-URL: Issues, https://github.com/westerveltco/django-email-relay/issues
Project-URL: Source, https://github.com/westerveltco/django-email-relay
Author-email: Josh Thomas <josh@joshthomas.dev>
License-Expression: MIT
License-File: AUTHORS.md
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Framework :: Django
Classifier: Framework :: Django :: 3
Classifier: Framework :: Django :: 3.2
Classifier: Framework :: Django :: 4
Classifier: Framework :: Django :: 4.1
Classifier: Framework :: Django :: 4.2
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: Implementation :: CPython
Requires-Python: >=3.8
Requires-Dist: django>=3.2
Provides-Extra: dev
Requires-Dist: bumpver; extra == 'dev'
Requires-Dist: coverage[toml]; extra == 'dev'
Requires-Dist: django-stubs; extra == 'dev'
Requires-Dist: django-stubs-ext; extra == 'dev'
Requires-Dist: faker; extra == 'dev'
Requires-Dist: hatch; extra == 'dev'
Requires-Dist: model-bakery; extra == 'dev'
Requires-Dist: mypy; extra == 'dev'
Requires-Dist: nox; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pytest-cov; extra == 'dev'
Requires-Dist: pytest-django; extra == 'dev'
Requires-Dist: pytest-randomly; extra == 'dev'
Requires-Dist: pytest-reverse; extra == 'dev'
Requires-Dist: pytest-xdist; extra == 'dev'
Requires-Dist: responses; extra == 'dev'
Requires-Dist: types-requests; extra == 'dev'
Provides-Extra: docs
Requires-Dist: cogapp; extra == 'docs'
Requires-Dist: furo; extra == 'docs'
Requires-Dist: myst-parser; extra == 'docs'
Requires-Dist: sphinx; extra == 'docs'
Requires-Dist: sphinx-autobuild; extra == 'docs'
Requires-Dist: sphinx-copybutton; extra == 'docs'
Requires-Dist: sphinx-inline-tabs; extra == 'docs'
Provides-Extra: hc
Requires-Dist: requests; extra == 'hc'
Provides-Extra: lint
Requires-Dist: pre-commit; extra == 'lint'
Provides-Extra: psycopg
Requires-Dist: psycopg[binary]; extra == 'psycopg'
Provides-Extra: relay
Requires-Dist: environs[django]; extra == 'relay'
Description-Content-Type: text/markdown

<!-- intro-begin -->
# django-email-relay

[![PyPI](https://img.shields.io/pypi/v/django-email-relay)](https://pypi.org/project/django-email-relay/)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/django-email-relay)
![Django Version](https://img.shields.io/badge/django-3.2%20%7C%204.1%20%7C%204.2-%2344B78B?labelColor=%23092E20)
<!-- https://shields.io/badges -->
<!-- django-3.2 | 4.1 | 4.2-#44B78B -->
<!-- labelColor=%23092E20 -->

`django-email-relay` enables Django projects without direct access to a preferred SMTP server to use that server for email dispatch.

It consists of two parts:

1. A Django app with a custom email backend that stores emails in a central database queue. This is what you will use on all the distributed Django projects that you would like to give access to the preferred SMTP server.

2. A relay service that reads from this queue to orchestrate email sending. It is available as either a standalone Docker image or a management command to be used within a Django project that does have access to the preferred SMTP server.
<!-- intro-end -->

## Getting Started

Visit the [documentation](https://django-email-relay.westervelt.dev/) for more information. There you will find:

- [Why](https://django-email-relay.westervelt.dev/en/latest/why.html) we created this package and how it can help you.
- How to [install](https://django-email-relay.westervelt.dev/en/latest/installation/) and [configure](https://django-email-relay.westervelt.dev/en/latest/configuration/) the relay service and Django app.
- How to [use](https://django-email-relay.westervelt.dev/en/latest/usage/) the Django app to send emails.
- Things to be aware of when it comes time to [update](https://django-email-relay.westervelt.dev/en/latest/updating.html) the package.
- How you can [contribute](https://django-email-relay.westervelt.dev/en/latest/contributing/) to the package.

## License

`django-email-relay` is licensed under the MIT license. See the [`LICENSE`](LICENSE) file for more information.

## Inspiration

This package is heavily inspired by the [`django-mailer`](https://github.com/pinax/django-mailer) package. `django-mailer` is licensed under the MIT license, which is also the license used for this package. The required copyright notice is included in the [`LICENSE`](LICENSE) file for this package.
