使用NodeJS搭建邮件自动发送 const express = require('express') bodyParser = require('body-parser') // Nodejs发邮件组件Nodemailer nodemailer = require('nodemailer') // 使用NodeJS搭建邮件自动发送服务器 smtpTransport
const express = require('express') bodyParser = require('body-parser') // Nodejs发邮件组件Nodemailer nodemailer = require('nodemailer') // 使用NodeJS搭建邮件自动发送服务器 smtpTransport = require('nodemailer-smtp-transport') app = express() app.use(express.static('www')) app.use(bodyParser.urlencoded({extended:true})) //设置跨域访问 app.all('*', function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "X-Requested-With"); res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS"); res.header("X-Powered-By",' 3.2.1') res.header("Content-Type", "application/json;charset=utf-8"); next(); }); app.post('/email',(req,res)=>{ // 开启一个 SMTP 连接池 var transport = nodemailer.createTransport(smtpTransport({ host: "smtp.qq.com", // 主机 smtp.126.com smtp.163.com secure: true, // 使用 SSL secureConnection: true, // 使用 SSL port: 465, // SMTP 端口 auth: { user: "1254158627@qq.com", // 账号 //这里密码不是qq密码,是你设置的smtp密码 // 163邮箱客户端授权密码怎么获取http://jingyan.baidu.com/article/495ba841ecc72c38b30ede38.html // qq邮箱客户端授权密码怎么获取http://jingyan.baidu.com/article/3052f5a1ee816d97f31f86b8.html pass: "******" // 密码 } })); // 设置邮件内容 var mailOptions = { from: "1254158627@qq.com", // 发件地址 to: "hjm100@126.com", // 收件列表(收件地址) subject:req.body.email, // 标题(邮件标题:发件人地址) text:req.body.name, // 发件人姓名 html:'发件人:'+req.body.name+''+'邮件内容:'+req.body.message// html 内容(邮件内容) } // 发送邮件 transport.sendMail(mailOptions, function(error, response) { if (error) { // console.error(error); res.json({code:0,message:'发送邮件失败'}) } else { // console.log(response); res.json({code:1,message:'发送邮件成功'}) } transport.close(); // 如果没用,关闭连接池 }); }) app.listen(8080,()=>{ console.log('node is ok') }) //一般需要通过表单提交形式完成邮件发送,其实我们模拟的是一个邮件发送,真正的发送主题其实是,你自己的两个邮箱 //之间数据互通,我们只是通过表单拿到用户的邮箱地址以及发件内容和姓名而已! //从而我们可以给用户回复!! //在命令行输入:node server 当输出node is ok的时候说明服务启动,即可配合前端完成邮件发送 //以下是package.json相关内容,直接 npm install 即可安装 { "name": "three", "version": "1.0.0", "description": "个人简介", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "\"鸿基梦\"", "license": "ISC", "dependencies": { "art-template": "^3.0.3", "body-parser": "^1.15.2", "cookie-parser": "^1.4.3", "express": "^4.14.0", "fs": "0.0.1-security", "mongoose": "^4.6.5", "multer": "^1.2.0", "socket.io": "^1.7.2", "tmodjs": "^1.0.3" } }