Skip to content

Latest commit

 

History

History
166 lines (111 loc) · 3.25 KB

README.rst

File metadata and controls

166 lines (111 loc) · 3.25 KB

SendGrid-Python

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

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>')
sg.send(message)

#or

message = sendgrid.Mail(to='John Doe <john@email.com', subject='Example', html='Body?', text='Body?', from_email='doe@email.com')
sg.send(message)

Adding Recipients

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

Adding BCC Recipients

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

Setting the Subject

message = sendgrid.Mail()
message.set_subject('New email')

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@lol.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.

message = sendgrid.Mail()
message.add_substitution("key", "value")
message = sendgrid.Mail()
message.add_section("section", "value")
message = sendgrid.Mail()
message.add_category("category")
message = sendgrid.Mail()
message.add_unique_arg("key", "value")
message = sendgrid.Mail()
message.add_filter("filter", "setting", "value")

TODO:

  • Add support for CID

Tests

python test/__init__.py

MIT License