Metadata-Version: 2.0
Name: django-ogmios
Version: 0.10.0
Summary: Just sends email. Simple, easy, multiformat.
Home-page: https://github.com/fusionbox/django-ogmios
Author: Fusionbox, Inc.
Author-email: programmers@fusionbox.com
License: UNKNOWN
Keywords: email send easy simple helpers django
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Framework :: Django
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Topic :: Communications :: Email
Classifier: Topic :: Software Development :: Libraries
Requires-Dist: Django (>=1.8)
Requires-Dist: PyYAML
Requires-Dist: Markdown
Requires-Dist: html2text
Requires-Dist: six

=============
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 <https://en.wikipedia.org/wiki/Ogmios>`_ is just the Gallic god of eloquence.

Quickstart
==========

Install from PyPI with ``pip``: ``pip install django-ogmios``.

``yourproject/templates/mail/template.html``::

    from: admin@example.org
    to: Jane Doe <jane.doe@example.net>, {% for u in users %}{{ user.email }}, {% endfor %}
    cc: John Doe <john.doe@example.org>, {{ copy_user.get_full_name }} <{{ copy_user.email }}>
    bcc: anonymous@example.org, secret@example.com
    subject: The whole email is a template
    content-type: markdown
    headers:
      Reply-To: Jaqueline <jaqueline@example.net>
      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)})


Changelog
=========

0.10.0 (2016-04-13)
-------------------

- Add support for Django 1.9
- Drop support for Django 1.7
- Move method of adding attachments out of the template
  and require attachments to be passed as an argument to ``send_email()``.


0.9.3 (2015-08-27)
------------------

- Add Django 1.7 compatibility.


0.9.2 (2015-07-16)
------------------

- Fix ``setup.py`` dependencies.
- Fix tests.
- Fix compatibility with django's cached loader.
- Fix context processing.


0.9.1 (2015-06-22)
------------------

- Fix 'From' field always being default


0.9.0 (2015-06-18)
------------------

- Initial version


