sd

sendgrid-django

Simple django backend to send email through SendGrid

Showing:

Popularity

Downloads/wk

0

GitHub Stars

204

Maintenance

Last Commit

2yrs ago

Contributors

24

Package

Dependencies

0

License

MIT

Categories

Readme

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 <hello@yamilasusta.com>", ["yamil@sendgrid.com"])

# or
mail = EmailMultiAlternatives(
  subject="Your Subject",
  body="This is a simple text email body.",
  from_email="Yamil Asusta <hello@yamilasusta.com>",
  to=["yamil@sendgrid.com"],
  headers={"Reply-To": "support@sendgrid.com"}
)
# 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(
    "<p>This is a simple HTML email body</p>", "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(<subject etc>, 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 .

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100