Skip to content

Commit 59af10c

Browse files
committedAug 22, 2020
setup nodemailer and sent mail using SMTP
1 parent 0177f06 commit 59af10c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+13792
-1
lines changed
 

‎config/nodemailer.js

+46
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
const nodemailer=require("nodemailer");
2+
const ejs=require('ejs');
3+
const path=require('path');
4+
5+
6+
7+
let transporter = nodemailer.createTransport({
8+
9+
service: 'gmail',
10+
host:'smtp.gmail.com',
11+
port:587,
12+
secure:false,
13+
auth: {
14+
user:'harshprakash1206@gmail.com',
15+
pass:'Shivji@2019'
16+
}
17+
18+
});
19+
20+
let renderTemplate=(data,relativePath) => {
21+
22+
let mailHTML;
23+
ejs.renderFile(
24+
path.join(__dirname,'../views/mailers',relativePath),
25+
data,
26+
function(err,template){
27+
28+
if(err){Z
29+
console.log('error in renderingtemplate',err);
30+
return;
31+
}
32+
mailHTML= template;
33+
34+
}
35+
)
36+
37+
return mailHTML;
38+
}
39+
40+
41+
module.exports= {
42+
43+
transporter:transporter,
44+
renderTemplate:renderTemplate
45+
46+
}

‎controllers/comments_controller.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
const Comment = require('../models/comment');
22
const Post = require('../models/posts');
3+
const commentsMailer=require('../mailers/comments_mailer');
34

45
module.exports.create = async function(req, res){
56

@@ -15,10 +16,12 @@ module.exports.create = async function(req, res){
1516

1617
post.comments.push(comment);
1718
post.save();
19+
comment = await comment.populate('user', 'name email').execPopulate();
20+
commentsMailer.newComment(comment);
1821

1922
if (req.xhr){
2023
// Similar for comments to fetch the user's id!
21-
comment = await comment.populate('user', 'name').execPopulate();
24+
2225

2326
return res.status(200).json({
2427
data: {

0 commit comments

Comments
 (0)
Please sign in to comment.