Prerequisites
- Python 3.6 or later
- A free Twilio SendGrid account.
Setting Up the Environment
$ mkdir email_sender
$ cd email_sender
$ python3 -m venv venv
$ source venv/bin/activate
After activating the environment, Install the necessary packages:
(venv) $ pip3 install sendgrid
(venv) $ pip3 install sendgrid
NB: the python-dotenv is a Python module that allows you to specify environment variables in traditional UNIX-like โ.envโ (dot-env) file within your Python project directory. It helps us work with SECRETS and KEYS without exposing them to the outside world, and keep them safe during the development of applications.Read more
Step 1: Create a .env file with the required variables
SENDGRID_API_KEY="mskj.bjsknlfjlsjnsnsnkjaknkkkwnkakJKkjnkKKNXKBVThdubsckeuisi"
Step 2: create an app.py file (can name it according to your own preference)
import os
from sendgrid import SendGridAPIClient
from sendgrid.helpers.mail import Mail
from dotenv import load_dotenv
load_dotenv()
message = Mail(
from_email='senders_email@mail.com',
to_emails='recipients_email@mail.com',
subject='Sending emails with python and Twilio-sendgrid API',
html_content='<strong>Thankyou for your business</strong>')
try:
sg = SendGridAPIClient(os.environ.get('SENDGRID_API_KEY'))
response = sg.send(message)
print(response.status_code)
print(response.body)
print(response.headers)
except Exception as e:
print(e.message)
Step 3: In the terminal, run your app:
python3 app.py
Step 4: Congratulations ๐๐๐ check your inbox!!!
The email arrives to the recipients inbox within seconds
Top comments (1)
Dear Emma, thank you for sharing this guide. I absolutely admire how you managed to put the necessary prerequisites, environment setup, and code implementation into such a clear and concise form. From my side, I can also share that Mailtrap API has native code integration with Python and can be a great choice for email sending. I look forward to your new materials!