50 lines
1.7 KiB
JavaScript
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; |