Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
SendGrid Python Library
Python
Pull request Compare This branch is 124 commits behind master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
sendgrid
test
.gitignore
.travis.yml
MANIFEST.in
README.md
README.rst
requirements.txt
setup.py

README.md

SendGrid-Python

This library allows you to quickly and easily send emails through SendGrid using Python.

Build Status

Warning! This library was recently updated to bring it up to date with all of our other libraries. It behaves completely different from the previous release. Also, SMTP has been deprecated in support for the Web API.

Install

pip install sendgrid
# or
easy_install sendgrid

Example

import sendgrid

sg = sendgrid.SendGridClient('YOUR_SENDGRID_USERNAME', 'YOUR_SENDGRID_PASSWORD')

message = sendgrid.Mail()
message.add_to('John Doe <john@email.com>')
message.set_subject('Example')
message.set_html('Body')
message.set_text('Body')
message.set_from('Doe John <doe@email.com>')
status, msg = sg.send(message)

#or

message = sendgrid.Mail(to='john@email.com', subject='Example', html='Body', text='Body', from_email='doe@email.com')
status, msg = sg.send(message)

Adding Recipients

message = sendgrid.Mail()
message.add_to('example@sendgrid.com')
# or
message.add_to('Example Dude <example@email.com>')

Adding BCC Recipients

message = sendgrid.Mail()
message.add_bcc('example@email.com')

Setting the Subject

message = sendgrid.Mail()
message.set_subject('Example')

Set Text or HTML

message = sendgrid.Mail()
message.set_text('Body')
# or
message.set_html('<html><body>Stuff, you know?</body></html>')

Set From

message = sendgrid.Mail()
message.set_from('example@email.com')

Set File Attachments

message = sendgrid.Mail()
message.add_attachment('./stuff.txt')
# or
message.add_attachment_stream('filename', 'somerandomcontentyouwant')

SendGrid's X-SMTPAPI

If you wish to use the X-SMTPAPI on your own app, you can use the SMTPAPI Python library.

There are implementations for setter methods too.

Substitution

message = sendgrid.Mail()
message.add_substitution("key", "value")

Section

message = sendgrid.Mail()
message.add_section("section", "value")

Category

message = sendgrid.Mail()
message.add_category("category")

Unique Arguments

message = sendgrid.Mail()
message.add_unique_arg("key", "value")

Filter

message = sendgrid.Mail()
message.add_filter("filter", "setting", "value")

TODO:

  • Add support for CID

Tests

python test/__init__.py

MIT License

Something went wrong with that request. Please try again.