I want to add the code to send email in this function.
I’ve also installed 2 libraries: jsonwebtoken and nodemailer.
I’ve seen some code related to this topic but I’m new to javascript and nodejs and i could not seem to make the code work. I could use some help!
Thanks in advance!
This is my code.
JavaScript
x
39
39
1
app.post('/insertuser',function(_req,res){
2
var data =JSON.parse(_req.body.data);
3
var username = data.username;
4
var age = data.age;
5
var password = data.password;
6
var fname = data.fname;
7
var lname = data.lname;
8
var address = data.address;
9
var city = data.city;
10
var email = data.email;
11
var sq = data.sq;
12
var answer = data.answer;
13
var pnumber = data.pnumber;
14
var dataentered = data.dataentered;
15
16
mysqlConnection.connect(function(){
17
var query = "Insert into Customer (Username,Age,Password,First_Name,Last_Name,Email,Address,City,Phone_No,SQ,Answer,Date_Entered) values('"+username+"','"+age+"','"+sha1(password)+"','"+fname+"','"+lname+"','"+email+"','"+address+"','"+city+"','"+pnumber+"','"+sq+"','"+answer+"','"+dataentered+"')";
18
mysqlConnection.query (query,function(err,results,_fields){
19
if(err)
20
{
21
console.log(err);
22
res.send('Please try again!');
23
}
24
else{
25
if(results.affectedRows>0)
26
{
27
res.send('Thanks for registering! Please confirm your email! We have sent a link!');
28
//the code for affirmation
29
30
}
31
else{
32
res.send('Please try again!');
33
}
34
35
}
36
})
37
})
38
});
39
Advertisement
Answer
You can use nodemailer
library for sending emails. I will explain how to send emails from a gmail account. First you need to enable Less Secure App Access in your gmail account security section.
After that, create a transporter
using nodemailer
:
JavaScript
1
10
10
1
const nodemailer = require('nodemailer');
2
3
var transporter = nodemailer.createTransport({
4
service: 'gmail',
5
auth: {
6
user: 'myemail@gmail.com',
7
pass: 'password'
8
}
9
});
10
Then in your code, use created transporter
to send mails.
JavaScript
1
30
30
1
mysqlConnection.query (query,function(err,results,_fields){
2
if(err) {
3
console.log(err);
4
res.send('Please try again!');
5
} else {
6
if(results.affectedRows>0) {
7
//the code for affirmation
8
var mailOptions = {
9
from: 'myemail@gmail.com',
10
to: 'toemail@gmail.com',
11
subject: 'Sending Email using Node.js',
12
text: 'That was easy!'
13
};
14
15
transporter.sendMail(mailOptions, function(error, info) {
16
if (error) {
17
console.log(error);
18
//Handle error here
19
res.send('Please try again!');
20
} else {
21
console.log('Email sent: ' + info.response);
22
res.send('Thanks for registering! Please confirm your email! We have sent a link!');
23
}
24
});
25
} else {
26
res.send('Please try again!');
27
}
28
}
29
})
30
You can refer to nodemailer
documentation for more info.