Last active
January 23, 2021 17:06
-
-
Save codediodeio/f50c2d2f3cc0243814a40f71f221d2ab to your computer and use it in GitHub Desktop.
Revisions
-
codediodeio revised this gist
Jun 15, 2017 . No changes.There are no files selected for viewing
-
codediodeio created this gist
Jun 15, 2017 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,51 @@ var functions = require('firebase-functions'); const sendgrid = require('sendgrid') const client = sendgrid("YOUR_SG_API_KEY") function parseBody(body) { var helper = sendgrid.mail; var fromEmail = new helper.Email(body.from); var toEmail = new helper.Email(body.to); var subject = body.subject; var content = new helper.Content('text/html', body.content); var mail = new helper.Mail(fromEmail, subject, toEmail, content); return mail.toJSON(); } exports.httpEmail = functions.https.onRequest((req, res) => { return Promise.resolve() .then(() => { if (req.method !== 'POST') { const error = new Error('Only POST requests are accepted'); error.code = 405; throw error; } const request = client.emptyRequest({ method: 'POST', path: '/v3/mail/send', body: parseBody(req.body) }); return client.API(request) }) .then((response) => { if (response.body) { res.send(response.body); } else { res.end(); } }) .catch((err) => { console.error(err); return Promise.reject(err); }); })