contact.js 2.66 KB
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;