Posted by Arjun Arjun on Wednesday 30th May 2018, 1 minute read

How to send emails from shell script using sendgrid

In my recent project, we have developed a small process monitoring system to check the health of the process and it should send emails if the process goes down. For sending emails we have used SendGrid and below is the shell script model which we have used to send the email.

#!/bin/bash

SUBJECT="";
SENDGRID_API_KEY=""
EMAIL_TO=""
FROM_EMAIL=""
FROM_NAME=""
MESSAGE="";

REQUEST_DATA='{"personalizations": [{ 
                   "to": [{ "email": "'"$EMAIL_TO"'" }],
                   "subject": "'"$SUBJECT"'" 
                }],
                "from": {
                    "email": "'"$FROM_EMAIL"'",
                    "name": "'"$FROM_NAME"'" 
                },
                "content": [{
                    "type": "text/plain",
                    "value": "'"$MESSAGE"'"
                }]
}';

curl -X "POST" "https://api.sendgrid.com/v3/mail/send" \
    -H "Authorization: Bearer $SENDGRID_API_KEY" \
    -H "Content-Type: application/json" \
    -d "$REQUEST_DATA"
...
Arjun

I am Arjun from Hyderabad (India). I have been working as a software engineer from the last 7+ years, and it is my passion to learn new things and implement them as a practice. Aside from work, I like gardening and spending time with pets.