Skip to content

Commit b6ea5b4

Browse files
authored
Revert code without Security Vulnerability
1 parent 1b0c225 commit b6ea5b4

File tree

1 file changed

+94
-0
lines changed

1 file changed

+94
-0
lines changed
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
var logger = require('_pr/logger')(module);
2+
var nodeMailer = require('nodemailer');
3+
var authEmail = require('_pr/model/dao/authemaildao');
4+
var mongoDbConnect = require('_pr/lib/mongodb');
5+
var appConfig = require('_pr/config');
6+
var AWS = require('aws-sdk');
7+
var Cryptography = require('_pr/lib/utils/cryptography.js');
8+
9+
var schedulerService = module.exports = {
10+
sendEmail: sendEmail,
11+
verifyEmail: verifyEmail
12+
};
13+
14+
function sendEmail(msg) {
15+
authEmail.findOne({
16+
category: 'failedbot'
17+
}, function (err, data) {
18+
if(err) logger.error(err);
19+
else if (data == null) logger.info('No email config found');
20+
else {
21+
sendSns(data, msg);
22+
}
23+
})
24+
}
25+
26+
function verifyEmail(emailId, callback) {
27+
authEmail.findOne({
28+
category: 'failedbot'
29+
}, function (err, data) {
30+
if(err) console.log(err);
31+
else {
32+
var cryptoConfig = appConfig.cryptoSettings;
33+
var cryptography = new Cryptography(cryptoConfig.algorithm, cryptoConfig.password);
34+
var secretKey = cryptography.decryptText(data.secretkey, cryptoConfig.decryptionEncoding, cryptoConfig.encryptionEncoding);
35+
var ses = new AWS.SES({
36+
"accessKeyId": data.accesskey,
37+
"secretAccessKey": secretKey,
38+
"region": data.region,
39+
"accountNumber": data.accountno
40+
});
41+
ses.verifyEmailIdentity({EmailAddress: emailId}, function(err, data) {
42+
if (err) {
43+
callback(err, null);
44+
}
45+
else {
46+
console.log(typeof callback);
47+
callback(null, data);
48+
}
49+
});
50+
}
51+
})
52+
}
53+
54+
function sendSns(data, msg) {
55+
var cryptoConfig = appConfig.cryptoSettings;
56+
var cryptography = new Cryptography(cryptoConfig.algorithm, cryptoConfig.password);
57+
var secretKey = cryptography.decryptText(data.secretkey, cryptoConfig.decryptionEncoding, cryptoConfig.encryptionEncoding);
58+
var ses = new AWS.SES({
59+
"accessKeyId": data.accesskey,
60+
"secretAccessKey": secretKey,
61+
"region": data.region,
62+
"accountNumber": data.accountno
63+
});
64+
var params = {
65+
Destination: {
66+
ToAddresses: [
67+
data.to
68+
]
69+
},
70+
Message: {
71+
Body: {
72+
Html: {
73+
Charset: "UTF-8",
74+
Data: data.body
75+
},
76+
Text: {
77+
Charset: "UTF-8",
78+
Data: data.body
79+
}
80+
},
81+
Subject: {
82+
Charset: "UTF-8",
83+
Data: data.subject + ' - ' + msg
84+
}
85+
},
86+
Source: data.from,
87+
};
88+
ses.sendEmail(params, function(err, data){
89+
if(err) console.log(err);
90+
else {
91+
console.log(JSON.stringify(data));
92+
}
93+
});
94+
}

0 commit comments

Comments
 (0)