UIAngular/Server/src/routes/api/email.js

50 lines
1.7 KiB
JavaScript

var express = require('express');
var router = express.Router();
const nodemailer = require('nodemailer');
let transporter = nodemailer.createTransport({
host: 'smtp.webfaction.com',
port: 465,
secure: true,
auth:{
user: 'ofbcontact',
pass: '2014OfbPwd'
}
});
router.get("/",function(req,res){
res.status(200).json({"message":"Hello World"});
return;
});
router.post("/", function(req,res){
console.log(req.body);
if (!req.body.name || !req.body.email || !req.body.phone || !req.body.message){
res.status(400).json({"status":400,"message":"name, email, phone, and message are required fields in the body"});
return;
}
//This is the honeypot field
//If it has something in it then we know it was filled out by a bot
if (!req.body.hp || req.body.hp != '.'){
res.status(200).json({"status":200,"message":"Success!"});
return;
}
let mailOptions = {
from: 'donotreply@oldfashionbaptistbutte.com',
to: 'contact@oldfashionbaptistbutte.com',
subject: 'OFB - ' + req.body.message.substring(0,Math.min(50,req.body.message.length-1)),
html: '<b>Name:</b> ' + req.body.name + '<br><b>Email:</b> ' + req.body.email + '<br><b>Phone:</b> ' + req.body.phone + '<br><br>' + req.body.message
};
transporter.sendMail(mailOptions,(error, info) =>{
if (error){
res.status(400).json({"status":400,"message":"There was an error","error":error.response});
} else {
res.status(200).json({"status":200,"message":"Success"});
}
});
});
module.exports = router;