Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/fusionbox/django-ogmios

No hassle, just sending emails
https://github.com/fusionbox/django-ogmios

Last synced: 3 months ago
JSON representation

No hassle, just sending emails

Awesome Lists containing this project

README

        

=============
Django-Ogmios
=============
.. image:: https://travis-ci.org/fusionbox/django-ogmios.svg?branch=master
:target: https://travis-ci.org/fusionbox/django-ogmios
:alt: 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 , {% for u in users %}{{ user.email }}, {% endfor %}
cc: John Doe , {{ 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
Organization: Example.org, Inc.
---
{% load special_filter %}

This is a list of special items:

{% for item in item_list %}
* {{ item|special }}
{% endfor %}

.. code:: python

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:

.. code:: python

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