DEV Community

Cover image for Sending emails with python and Twilio-sendgrid API
Emma Donery
Emma Donery

Posted on

Sending emails with python and Twilio-sendgrid API

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
Enter fullscreen mode Exit fullscreen mode

After activating the environment, Install the necessary packages:

(venv) $ pip3 install sendgrid
(venv) $ pip3 install sendgrid
Enter fullscreen mode Exit fullscreen mode

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"
Enter fullscreen mode Exit fullscreen mode

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)
Enter fullscreen mode Exit fullscreen mode

Step 3: In the terminal, run your app:

python3 app.py
Enter fullscreen mode Exit fullscreen mode

Step 4: Congratulations πŸŽ‰πŸŽ‰πŸŽ‰ check your inbox!!!

The email arrives to the recipients inbox within seconds

Discussion (0)