nodejs实现邮件发送
2024-08-30 11:36:51
需要安装的node模块
nodemailer
新建项目目录 mail-test
进入这个项目里使用终端初始化package.json(npm init)
安装express和nodemailer并保存安装信息到package.json文件中
cnpm i express nodemailer -S
安装完后package.json里就这样
我全局安装了nodemon, 在package.json中的main是index.js ,所以我新建index.js作为入口文件 使用nodemon能在项目文件修改后自动重启项目
在index.js里引入express并实例化express对象
引入nodemailer
开启一个服务器 然后使用express的路由 在路由里调用发邮件的方法
使用nodemon命令运行项目
nodemon
浏览器访问/sendMail路由
接口跑通了,可以开始写发邮件的事件了
①配置邮件服务器连接信息
nodemailer.createTransport() 方法 往里传一个对象,对象里有参数
service 项 使用什么邮箱就写什么邮箱的名字 用qq的就写qq 用163的就写163
secure 项 安全的发送模式 true
auth 项 登录验证 user 是发邮件的用户名 pass是发邮件的授权码(没有授权码的登录网页版邮箱获取,在邮箱的IMAP/SMTP服务里打开 获得授权码)
let transporter = nodemailer.createTransport({
service:"163", // 邮箱
secure:true, // 安全的发送模式
auth:{
user:"weasth@163.com", // 发件人邮箱
pass:"授权码"// 授权码
}
})
②配置邮件选项
mailOptions是一个对象
from 项 从哪个账号发送,和第一步中的发件人一致
to 项 要接收的邮箱,多个收件人用逗号隔开
cc 项 抄送发送的邮箱,用不着不写
bcc 项 密送的邮箱,用不着不写
subject 项 邮件的标题
text 项 邮件的内容
let mailOptions = {
from:"weasth@163.com",
to:"991375252@qq.com",
subject:"测试邮件主题",
text:"测试邮件正文"
}
③发送
使用transpoter.sendEmail()方法 这个方法接收两个参数,第一个参数是 mailOptions 第二个参数是回调函数 回调函数第一个参数是错误信息 第二个参数是返回的内容
transporter.sendMail(mailOptions,(err,data) => {
if(err){
console.log(err);
res.json({status:400,msg:"send fail....."})
}else{
console.log(data);
res.json({status:200,msg:"邮件发送成功....."})
}
})
配置完成,现在在浏览器中访问/sendMail 看看效果
浏览器中显示发送成功,现在到邮箱里看看有没有这个邮件
收到邮件了 至此 实现了用nodejs发送邮件
demo文件链接:
最新文章
- iOS UIActivityIndicatorView
- Excel怎样从一串字符中的某个指定“字符”前后截取字符及截取字符串常用函数
- 1.NSNotification|远程通知|本地通知|激光推送
- JavaScript学习11 数组排序实例
- where过滤字句
- Decision Boundaries for Deep Learning and other Machine Learning classifiers
- Python下载Bing主页图片
- AngularJS 初学笔记(理论基础)
- Enterprise architect 类图加时序图
- javascript常用函数封装——运动、cookie、ajax、获取行内样式兼容写法、拖拽
- Postfix - Extmail 邮箱系统
- This Jenkins instance appears to be offline
- 转载-iOS SDK开发
- Android Manifest文件
- Sum Root to Leaf Numbers leetcode java
- juery 安全加固 集合
- ZOJ 3211dream city dp(效率优化)
- socket数据收发
- reservoid sample 蓄水池问题
- centos7 vim显示行号