使用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"
}
}
