Skip to content

fusionbox/django-ogmios

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Django-Ogmios

Build Status

Just sends emails. Simple, easy, multiformat.

For those wondering, Ogmios is just the Gallic god of eloquence.

Quickstart

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.

Tips

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)})