Metadata-Version: 1.1
Name: django-mailgun-mime
Version: 0.1.2
Summary: It is an wrapper for Django that allows to send mail via Mailgun`s API.
Home-page: https://github.com/niklak/django-mailgun-mime
Author: Nikolay Gumanov
Author-email: morgenpurple@gmail.com
License: Creative Commons Attribution-ShareAlike 4.0 International
Description: ===================
        Django-mailgun-mime
        ===================
        
        Description
        ___________
        It is an wrapper for Django that allows to send mail via Mailgun`s API.
        For the reference of Mailgun`s API, please visit `api for sending <https://documentation.mailgun.com/api-sending.html#sending>`_ .
        
        For the Django`s email implementation, please visit `sending email <https://docs.djangoproject.com/en/1.8/topics/email/>`_ .
        
        This wrapper sends request to Mailgun`s mime API
        to efficiently use Django`s EmailMessage instance.
        In this case we just put mime message,
        prepared by django`s EmailMessage instance,
        and attach it as a file.
        After receiving your message Mailgun`s API will do the rest of job.
        
        This wrapper also supports Mailgun`s extra headers,
        which can be very useful.
        So if the wrapper finds such header it will placed to request`s data.
        But please, notice that the wrapper
        does not validates Mailgun`s extra headers.
        Because after starting validating extra headers,
        it will stop to be simple and tiny. :-)
        
        
        Requirements
        ------------
        Python 3.x
        Django 1.7+
        requests for Python
        
        Installation
        ------------
        
        pip install django-mailgun-mime
        
        Quick start
        -----------
        1. Make an account at Mailgun;
        2. Set up correctly Mailgun`s records at your DNS provider. (Just follow for the Mailgun instruction);
        3. Wait until Mailgun will check and approve your settings;
        4. If you fail go back to point 2;
        5. Set up at yours project settings these variables::
        
            EMAIL_BACKEND = 'django_mailgun_mime.backends.MailgunMIMEBackend'
            MAILGUN_API_KEY = 'your api key'
            MAILGUN_DOMAIN_NAME = 'your.domain'
            # optionally:
            DEFAULT_FROM_EMAIL = 'postmaster@your.domain'
            SERVER_EMAIL = 'admin@your.domain'
        6. Now you can send email via Mailgun API. Also you can send email through Mailgun SMTP service. In this case just use Django`s SMTP backend.
        
        Examples
        --------
        Firstly, we need to import some dependencies::
        
            from django.template.loader import render_to_string
            from django.conf import settings
            from django.core.mail import send_mail, EmailMultiAlternatives
            from django.core.mail import get_connection
        A simple email sending example::
        
            # We will use these paths ahead
            path_to_txt = 'path/to/template.txt'
            path_to_html = 'path/to/template.html'
        
            s = 'Simple test for Mailgun awesomeness'
            m = 'Congratulations! Now you know Mailgun awesomeness!'
            context = {'title': s, 'message': m}
        
            txt = render_to_string(path_to_txt, context)
            html = render_to_string(path_to_html, context)
            send_mail(s, txt, settings.DEFAULT_FROM_EMAIL, ['to@example.com'], html_message=html)
        Example with Mailgun extra headers and file attachment::
        
            s = 'Testing Mailgun awesomeness!'
            m = 'Message content for email with tracking.'
            context = {'title': s, 'message': m}
        
            txt = render_to_string(path_to_txt, context)
            html = render_to_string(path_to_html, context)
        
            msg = EmailMultiAlternatives(s, txt, settings.DEFAULT_FROM_EMAIL,
                                         ['to@example.com'])
            msg.attach_alternative(html, 'text/html')
            msg.attach_file('path/to/file')
            msg.extra_headers['o:tracking-opens'] = 'yes'
            msg.extra_headers['h:Reply-To'] = 'from@example.com'
            msg.send()
        Example with specifying connection::
        
            api_key = 'API_KEY_FROM_MAILGUN'
            domain = 'yours.domain.name.checked.and.setted.at.mailgun'
            connection = get_connection('django_mailgun_mime.backends.MailgunMIMEBackend',
                                        api_key=api_key,
                                        domain=domain)
        
            s = 'Testing specific connection!'
            m = 'Well... You receive it. What now?'
            context = {'title': s, 'message': m}
        
            txt = render_to_string(path_to_txt, context)
            html = render_to_string(path_to_html, context)
        
            send_mail(s, txt, settings.DEFAULT_FROM_EMAIL, ['to@example.com'],
                             connection=connection, html_message=html)
        
        License
        -------
        
        |ImLink|_
        
        .. |ImLink| image:: https://i.creativecommons.org/l/by-sa/4.0/88x31.png
        .. _ImLink: http://creativecommons.org/licenses/by-sa/4.0/
        
Platform: UNKNOWN
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2.5
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
