contact.js
2.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
var express = require('express');
var session = require('express-session');
const nodemailer = require('nodemailer');
var router = express.Router();
const EAMIL_USER = "service@leadstecgz.com";
const EMAIL_PASSWORD ="Lt12345678";
//const EMAIL_SMTP_SERVER = "smtp.qiye.aliyun.com";
const EMAIL_SMTP_SERVER = "smtp.exmail.qq.com";
//验证码部分
var app = express();
var svgCaptcha = require('svg-captcha');
//设置过期时间等参数,过期时间为1分钟
router.use(session({secret: 'keyboard cat', resave: false, saveUninitialized: true, cookie: {maxAge: 60000}}));
router.get('/api/getCaptcha', function(req, res, next) {
//return getCaptcha();
var captcha = svgCaptcha.create({
// 翻转颜色
inverse: false,
// 字体大小
fontSize: 36,
// 噪声线条数
noise: 2,
// 宽度
width: 80,
// 高度
height: 30,
});
// 保存到session,忽略大小写
req.session.contactUsCaptcha = captcha.text.toLowerCase();
res.setHeader('Content-Type', 'image/svg+xml');
res.write(String(captcha.data));
res.end();
});
/* Post Contact Form. */
router.post('/sendmail', function (req, res) {
var captcha = req.body.captcha;
var bodyText = JSON.stringify(req.body).toLowerCase();
var result = {};
if (captcha != req.session.contactUsCaptcha) {
result.errcode = 40001;
result.errmsg = "wrong captcha";
res.send(result);
} else if(bodyText.indexOf("sex") >= 0 || bodyText.indexOf("dating") >= 0) {
result.errcode = 40002;
result.errmsg = "illegal text";
res.send(result);
} else {
let mailOpts, smtpTrans;
smtpTrans = nodemailer.createTransport({
host: EMAIL_SMTP_SERVER,
port: 465,
secure: true,
auth: {
user: EAMIL_USER,
pass: EMAIL_PASSWORD
}
});
mailOpts = {
from: EAMIL_USER,
to: "sales@leadstec.com",
subject: 'Leadstec 官网留言',
/*text: `${req.body.name} (${req.body.email}) says: ${req.body.message}`*/
text: `Name:${req.body.name} \n Company:${req.body.company} \n Phone:${req.body.phone} \n Email:${req.body.email} \n Messages: ${req.body.message}`
};
smtpTrans.sendMail(mailOpts, function (error, response) {
if (error) {
result.errcode = 40003;
result.errmsg = "contact failed:"+error.message;
res.send(result);
} else {
result.errcode = 0;
result.errmsg = "ok";
res.send(result);
}
});
}
});
module.exports = router;