From b1848eb34f125e3e34776bad965efbe9d1498297 Mon Sep 17 00:00:00 2001 From: Keith Irwin Date: Wed, 24 Nov 2021 12:37:26 -0700 Subject: [PATCH] Added code to send email --- index.js | 30 ++++++++++++++++++++++++++++-- package-lock.json | 5 +++++ package.json | 3 ++- 3 files changed, 35 insertions(+), 3 deletions(-) diff --git a/index.js b/index.js index 8fbce9a..50a7daf 100644 --- a/index.js +++ b/index.js @@ -4,6 +4,16 @@ require('dotenv').config() const express = require('express') const {verify} = require('hcaptcha') +const mailer = require('nodemailer').createTransport({ + host: process.env.MAIL_SERVER, + port: 587, + secure: false, // STARTTLS LATER + auth: { + user: process.env.MAIL_USER, + pass: process.env.MAIL_PASS, + }, +}) + express().use(express.json()) .post('/', async (req, res) => { @@ -11,9 +21,25 @@ express().use(express.json()) try { const data = await verify(process.env.HCAPTCHA_SECRET, req.body['token']) } catch (err) { console.error(err) } - if (data.success === true) - console.log('success!', data) + if (data.success === true) { + + let from + if (req.body['name'] && req.body['email']) from = `${req.body['name']} <${req.body['email']}>` + else if (req.body['name']) from = req.body['name'] + else if (req.body['email']) from = req.body['email'] + else from = 'Anonymous' + // Send email + try { + await mailer.sendMail({ + from: from, + to: process.env.MAIL_TO, + subject: req.body['subj'], + text: req.body['msg'], + }) + } catch (err) { console.error(err) } + + } }).listen(process.env.PORT, () => { console.log(`API started`) }) diff --git a/package-lock.json b/package-lock.json index 01b4b8d..9483a5a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -245,6 +245,11 @@ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" }, + "nodemailer": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.1.tgz", + "integrity": "sha512-E1C8G3rnXrGjznwGP1k+OrW5k4rl0XtqTEB19f7vtJAMYwfxZVSsAu2iY5xJkrZsbVYr6PwwAwRmFlakPoFC0A==" + }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", diff --git a/package.json b/package.json index 82fd195..f286e50 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "dependencies": { "dotenv": "^10.0.0", "express": "^4.17.1", - "hcaptcha": "^0.1.0" + "hcaptcha": "^0.1.0", + "nodemailer": "^6.7.1" } }