Need help with sendgrid-django?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

elbuo8
205 Stars 73 Forks MIT License 122 Commits 32 Opened issues

Description

Simple django backend to send email through SendGrid

Services available

!
?

Need anything else?

Contributors list

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.