nodemailer实现node发送邮件
生活随笔
收集整理的這篇文章主要介紹了
nodemailer实现node发送邮件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
作為一個前端er,利用node獨立做一些全棧小項目,是很有效率和必要的。
需要:
做一個活動報名頁面,用戶填好的表單需要被工作人員收到,一想到把數據存數據庫,還需要給工作人員寫一個管理頁面就覺得很麻煩。
把表單數據通過郵件方式發送到相關人郵箱,很討巧,很節約開發成本,就這樣做。
?
核心模塊:nodemailer
?
看看package.json:
{"devDependencies": {"gulp": "^3.8.11","gulp-imagemin": "^2.2.1","gulp-less": "^3.0.3","gulp-notify": "^2.2.0","gulp-uglify": "^1.2.0","gulp-watch": "^4.2.4","require-dir": "^0.3.0"},"dependencies": {"body-parser": "^1.15.0","express": "^4.13.4","nodemailer": "^2.3.0","swig": "^1.4.2"} }?
- devDependencies里全是gulp模塊
- 引入body-parser模塊可以通過req.body.xx獲取到表單的數據
- 常規使用express
- nodemailer用來支持發送郵件
- swig是node的一個模板引擎
使用nodemailer:
1.這里用到的是QQ郵箱,配置好地址和自己的賬戶名和密碼
var nodemailer = require("nodemailer"); var smtpTransport = nodemailer.createTransport({host: 'smtp.exmail.qq.com',port: 465,secure: true, // use SSL auth: {user: 'yourqq@qq.com',pass: 'password'} });?
2.from和to設置郵件發送者和收件者的郵箱地址,
? ?subject郵件title
? ?html郵件內容
? ?smtpTransport.sendMail執行發送,這里的res是express router的響應參數,這里只貼主要代碼,詳細代碼最后發github地址
var mailOptions = {from: "yourqq@qq.com",to: "toqq@qq.com",subject: "node郵件",html: "<b>姓名: </b>"+name+"<br>"+"<b>性別: </b>" + sex + "<br>"+"<b>電話: </b>" + phone + "<br>"+"<b>郵箱: </b>" + email + "<br>"+"<b>QQ: </b>" + qq + "<br>"+"<b>年齡: </b>" + age + "<br>"+"<b>聯系地址: </b><br><div style='margin-left:20px;margin-top:20px'>" + address + "</div><br>"+"<b>所在院校及專業: </b><br><div style='margin-left:20px;margin-top:20px'>" + school + "</div><br>"+"<b>學校地址: </b><br><div style='margin-left:20px;margin-top:20px'>" + schooladdress + "</div><br>"+"<b>跟我們說說你的大學吧: </b><br><div style='margin-left:20px;margin-top:20px'>" + des + "</div><br>"+"<b>個人書單及評價: </b><br><div style='margin-left:20px;margin-top:20px'>" + book + "</div><br>" }smtpTransport.sendMail(mailOptions, function(err, resp){if(err){res.send({code: 201,msg: "報名失敗,請重試"})}else{res.send({code: 200,msg: "報名成功"})}smtpTransport.close();//關閉連接池 });其實很簡單,核心代碼就是這些~
綁定路由:
前端當然也有一些事情要做,寫好頁面,驗證表單,提交表單。
當前只有兩個頁面,報名頁面和報名成功頁面。
頁面內容不再敘述,詳情看下面git地址
需要注意的問題:
- 用不同的郵箱發送郵件,需要找到相應官方api地址
- 郵件內容的html是有一定規則的,每個三方郵箱的規則都不同,可以查閱相關通用資料
https://github.com/zimv/nodemailer-demo
總結
以上是生活随笔為你收集整理的nodemailer实现node发送邮件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 测试并发应用(三)监控Executor框
- 下一篇: XStream xml与javabea