django-mailrobot
Stores and sends canned email responses.
Ever had to change the signature or add a recipient to N hardcoded emails spread all throughout your code? Hardcode no more! Use mailrobot instead.
Depends on Django, with a version between 3.2 and 6.0, inclusive.
Installation
Install the library, for instance with pip:
pip install django-mailrobot
Add the library to your INSTALLED_APPS of an exiting project:
INSTALLED_APPS += ['mailrobot']
Add the tables to the existing project.
$ ./manage.py migrate
Demo
Copy the entire django-mailrobot directory somewhere, set up and enter a virtualenv, then provided you are on some Un*x:
make demo
This’ll create a demo-user “demo” with the password “demo”.
The demo should now be running on http://127.0.0.1/
Tests
To run the tests, first install the testing-requirements:
pip install -r requirements/test.txt
then run the tests with:
make test APP=mailrobot
Development
Install the dev-requirements with:
pip install -r requirements/test.txt
This’ll give you ipython for a prettier shell-experience, but more importantly it’ll install pre-commit. Pre-commit will check for syntax errors and merge conflicts, and fix trailing whitespaces and mixed line-endings for you.
Usage
Add mails and addresses through the django admin.
In code
Fetch a mail-template:
template = Mail.objects.get(name='hello-world').
Fill it:
mail = template.make_message(
sender='Yep <overridden-from@example.com'>,
recipients=('extra1@example.com', u'Blåbærsyltetøy <extra2@example.com>'),
context={'world': 'Mailrobot'}
)
Have a look:
print mail.message
Send it:
mail.send()
Niceties
In case you need to send an email somewhere else for testing/debugging, clone an existing email in the admin:
Select it
Choose “Clone selected mails” in the action list
Hit “Go”
The clone will share everything with its original except the name, which will be suffixed with a timestamp.
Edit the name of the clone to what you need, change recipients, CCs, BCCs. Then, where you send the mail from, choose the clone if settings.DEBUG is True.
- Version:
0.8.2
Metadata
Release files for django-mailrobot 0.8.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| django_mailrobot-0.8.2.tar.gz | 20.1 kB | Without provenance | Details for django_mailrobot-0.8.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| django_mailrobot-0.8.2-py3-none-any.whl | Python 3 | none | any | Details for django_mailrobot-0.8.2-py3-none-any.whl |
Total release size: 27.6 kB
Release files / django_mailrobot-0.8.2.tar.gz
| Download URL | django_mailrobot-0.8.2.tar.gz |
|---|---|
| Size | 20.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f62bda49829cf76f24a24609e7a0e73c4b6a5e18673e1da5b878ebf0c04fc222
|
|
BLAKE2b-256 checksum How to use checksums |
6e465fed75043e4ca149f6d2a52b67d12d1a0e91a81b3fdeab26f54e52b91506
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.3
|
Release files / django_mailrobot-0.8.2-py3-none-any.whl
| Download URL | django_mailrobot-0.8.2-py3-none-any.whl |
|---|---|
| Size | 7.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8246225886b49de2ef6d96dc01290839c6def9e33869fb0fe22d0d596800ce72
|
|
BLAKE2b-256 checksum How to use checksums |
d6c5ec42670e7865c545b4b6728fef246c07a98f86b9b54a4860ddff549a4632
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.3
|
Security for django-mailrobot 0.8.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.