sendgrid-django

by elbuo8

Simple django backend to send email through SendGrid

199 Stars 67 Forks Last release: Not found MIT License 122 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

SendGrid-django

.. image:: https://travis-ci.org/elbuo8/sendgrid-django.svg?branch=master :target: https://travis-ci.org/elbuo8/sendgrid-django :alt: Travis CI .. image:: https://codecov.io/github/elbuo8/sendgrid-django/coverage.svg?branch=master :target: https://codecov.io/github/elbuo8/sendgrid-django :alt: codecov.io

Simple django backend to send email using SendGrid's Web API.

Installation

Install the backend from PyPI:

.. code:: bash

pip install sendgrid-django

Add the following to your project's settings.py:

.. code:: python

EMAIL_BACKEND = "sgbackend.SendGridBackend"
SENDGRID_API_KEY = "Your SendGrid API Key"

Done!

Example

.. code:: python

from django.core.mail import send_mail
from django.core.mail import EmailMultiAlternatives

send_mail("Your Subject", "This is a simple text email body.", "Yamil Asusta ", ["[email protected]"])

or

mail = EmailMultiAlternatives( subject="Your Subject", body="This is a simple text email body.", from_email="Yamil Asusta ", to=["[email protected]"], headers={"Reply-To": "[email protected]"} )

Add template

mail.template_id = 'YOUR TEMPLATE ID FROM SENDGRID ADMIN'

Replace substitutions in sendgrid template

mail.substitutions = {'%username%': 'elbuo8'}

Attach file

with open('somefilename.pdf', 'rb') as file: mail.attachments = [ ('somefilename.pdf', file.read(), 'application/pdf') ]

Add categories

mail.categories = [ 'work', 'urgent', ]

mail.attach_alternative( "

This is a simple HTML email body

", "text/html" )

mail.send()

To create an instance of a SendGridBackend with an API key other than that provided in settings, pass

api_key
to the constructor

.. code::python

from sgbackend import SendGridBackend
from django.core.mail import send_mail

connection = SendGridBackend(api_key='your key')

send_mail(, connection=connection)

License

MIT

Enjoy :)

Development

Install dependencies::

pip install -r requirements-dev.txt

Run the tests with coverage::

pytest --cov=sgbackend

If you see the error "No module named sgbackend", run::

pip install -e .

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.