Skip to content

Commit 5d543f0

Browse files
committed
Add contact form functionality
1 parent c6dadd8 commit 5d543f0

File tree

2 files changed

+35
-0
lines changed

2 files changed

+35
-0
lines changed

app.js

+1
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ async function main() {
127127
'/register',
128128
'/password-reset',
129129
'/change-password',
130+
'/contact',
130131
'/'
131132
];
132133

routes/main.js

+34
Original file line numberDiff line numberDiff line change
@@ -244,6 +244,40 @@ router.post('/change-password', async (req, res) => {
244244
return res.redirect('/login');
245245
});
246246

247+
router.post('/contact', (req, res) => {
248+
let fields;
249+
try {
250+
fields = validator.validate(req.body,
251+
[
252+
'fname',
253+
'lname',
254+
'email',
255+
'body'
256+
],
257+
{
258+
email: 'email'
259+
}
260+
).fields;
261+
} catch (e) {
262+
console.error(e);
263+
return res.redirect('/');
264+
}
265+
266+
const email = new EmailBuilder()
267+
.setSubject('Stratos contact request')
268+
.addTo([
269+
`${fields.get('fname')} <${fields.get('email')}>`,
270+
'Stratos <[email protected]>'
271+
])
272+
.setBody(fields.get('body'));
273+
274+
const emailer = new Emailer();
275+
emailer.sendEmail(email);
276+
277+
res.send('Thank you for your enquiry, someone will get back to you ' +
278+
'shortly!');
279+
});
280+
247281
module.exports = {
248282
root: '/',
249283
router: router

0 commit comments

Comments
 (0)