|
|
|
@ -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`)
|
|
|
|
|
})
|
|
|
|
|