GitHub - iandouglas/sendgrid-python: SendGrid Python Library
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 sendgridExample
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.
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