-// Router for contact form sending
-
let router = require("express").Router();
-const mailer = require(__dirname.replace("/routes", "/utils/mailer"));
+const access = require("../utils/access");
+const sendEmail = require("../utils/mailer");
+const params = require("../config/parameters");
// Send a message through contact form
-router.post("/messages", (req,res,next) => {
- if (!req.xhr)
- return res.json({errmsg: "Unauthorized access"});
- const from = req.body["email"];
- const subject = req.body["subject"];
- const body = req.body["body"];
- // TODO: sanitize ?
- mailer.send(from, mailer.contact, subject, body, err => {
- if (!!err)
- return res.json({errmsg:err});
- // OK, everything fine
- res.json({}); //ignored
- });
+router.post("/messages", access.ajax, (req,res) => {
+ const from = req.body["email"];
+ // Replace potential newline characters in subject
+ const subject = req.body["subject"].replace(/\r?\n|\r/g, " ");
+ const body = req.body["content"];
+
+ sendEmail(from, params.mail.contact, subject, body, err => {
+ res.json(err || {});
+ });
});
module.exports = router;