准备: 安装node.js ,新建一个项目,
然后打开项目文件夹,按住shift键在右键然后选择 在此处打开命令窗口,输入‘ npm init ’然后回车,一直回车就行了,然后需要安装服务器框架和邮件的模块;服务器模块下载:在命令窗口中输入npm install express --save-dev 可以简写为(npm i express -D)
邮件模块下载:在命令窗口中输入npm install nodemailer --save-dev 可以简写为(npm i nodemailer -D)
post请求模块下载:在命令窗口中输入npm install body-parser --save-dev 可以简写为(npm i body-parser -D)
完成这写准备后我们就可以开始布一个简单的页面
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>邮件发送</title> <style> *{ margin-top: 20px; } label{ text-align: center; margin-top: -50px; } textarea{ vertical-align:top; } #btn{ margin-left: 10%; } </style> <body> <!--form文件上传--> <form action="/sendemail" method="post"> <h1>邮件发送</h1> 发送地址: <input type="text" name="user"><br> 主题: <input type="text" name="title"><br> <lable>发送内容:</lable> <textarea name="msg" cols="30" rows="10"></textarea> <br> <input type="submit" value=" 提交" id="btn"> </form> </body> </html>在app.js中引入模块
var express=require('express')var nodemailer=require('nodemailer');var bodyParser=require('body-parser')搭建一个服务器
配置post(在端口和服务器的中间):
配置文件的静态文件:
然后在命令窗口中输入 node app 然后回车
这样的话就代表服务器发送成功了。我们在配置前还需要去获取一下邮箱的授权码,首先找到负责发邮件的邮箱号并登陆,然后点击用户头像进入账户选项卡 滑到下面点击开启 POP3/SMTP服务 (如何使用 Foxmail 等软件收发邮件?) 点击开启按钮之后用手机发送一条短信之后就可以得到授权码了(为啥要用授权码,授权码相当于邮箱的另一个独特密码,如果你不用授权码,可以直接用密码,但是不安全哦!)
配置邮件:
完成之后打开服务器(ctrl+c 终止服务器),然后打开浏览器在地址栏中输入localhost:8080/email.html,然后就可以发送邮件了
app,js 中的文件:var express=require('express')//引入express模块
var nodemailer=require('nodemailer')//引入邮件模块
var bodyParser=require('body-parser')//引入post请求
//搭建服务器
var app=express();
//配置post
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:false}));
//---------邮件发送------------------------//
app.post('/sendEmail',function (req,res) {
//1、配置邮箱
var email=nodemailer.createTransport({
host:'smtp.qq.com',
port:587,
secure:false,// 若secure为true的话,port后面的值为485, 若为false 怎为587
auth: {
user:'2285377058@qq.com',// 负责发送邮件的邮箱
pass:'bnszandepfuydjji' // 邮箱授权码
}
});
//2、配置内容
var msg = {
from:'"好嗨呦!" <2285377058@qq.com>',// sender address
to: req.body.user,// 需要接收邮件的邮箱号
subject: req.body.title,// 主题
text: req.body.msg// 内容
};
//发送邮件
email.sendMail(msg,function (err,data) {
console.log(err,data);
res.send(err);
//关闭邮箱链接
email.close();
});
});
//配置静态文件
app.use(express.static(__dirname));
//配置端口
app.listen('1234',function () {
console.log('服务器搭建成功');
});
网友评论