Just sends emails. Simple, easy, multiformat.
For those wondering, Ogmios is just the Gallic god of eloquence.
Install from PyPI with pip
: pip install django-ogmios
.
yourproject/templates/mail/template.html
:
from: [email protected] to: Jane Doe <[email protected]>, {% for u in users %}{{ user.email }}, {% endfor %} cc: John Doe <[email protected]>, {{ copy_user.get_full_name }} <{{ copy_user.email }}> bcc: [email protected], [email protected] subject: The whole email is a template content-type: markdown headers: Reply-To: Jaqueline <[email protected]> Organization: Example.org, Inc. --- {% load special_filter %} This is a list of special items: {% for item in item_list %} * {{ item|special }} {% endfor %}
import ogmios
ogmios.send_email('mail/template.html',
{'item_list': ['Hello']},
attachments=[{
'path': '/path/to/file/',
'name': 'file.txt',
'type': 'text/plain',
}])
This will render the content as markdown, and send the email with an HTML part and a Plaintext part. For attachments, it is possible to just specify the path, or the path, filename and mimetype.
Resend an email with different context:
import functools
import ogmios
from myapp.models import User
send_registration = functools.partial(ogmios.send, 'mail/template.html')
send_registration({'user': User.objects.get(pk=1337)})