Node.js使用NodeMailer發(fā)送郵件實例代碼
0.目標
這一節(jié),我將實現(xiàn)一個簡單的發(fā)送郵件功能。
1.部署
1.1 部署Express
如果不知道如何部署,可參照:部署Express
1.2 準備一個郵箱并開始SMTP服務
為了實現(xiàn)這個功能,你首先要有一個郵箱;由于需要使用SMTP方式發(fā)送,你還需要開啟相關功能。你可以登錄你的郵箱,然后開啟這個設置,以新浪郵箱和QQ郵箱為例:
2.服務器端
2.1 使用nodemailer
這里要用到nodemailer,需要自行安裝:
npm install nodemailer --save
在routes/index.js中引用nodemailer:
var multer = require('nodemailer');
2.2 配置
在routes/index.js中創(chuàng)建一個傳輸方式:
var mailTransport = nodemailer.createTransport({ host : 'smtp.sina.com', secureConnection: true, // 使用SSL方式(安全方式,防止被竊取信息) auth : { user : '你的郵箱地址', pass : '你的郵箱密碼' }, });
注意,低版本的nodemailer可能需要多傳入一個參數(shù)“SMTP”:
var mailTransport = nodemailer.createTransport('SMTP', { host : 'smtp.sina.com', secureConnection: true, // use SSL auth : { user : '你的郵箱地址', pass : '你的郵箱密碼' }, });
2.3 發(fā)送郵件
/* 瀏覽器輸入地址(如127.0.0.1:3000/sned)后即發(fā)送 */ router.get('/send', function(req, res, next) { var options = { from : '"你的名字" <你的郵箱地址>', to : '"用戶1" <郵箱地址1>, "用戶2" <郵箱地址2>', // cc : '' //抄送 // bcc : '' //密送 subject : '一封來自Node Mailer的郵件', text : '一封來自Node Mailer的郵件', html : '<h1>你好,這是一封來自NodeMailer的郵件!</h1><p><img src="cid:00000001"/></p>', attachments : [ { filename: 'img1.png', // 改成你的附件名 path: 'public/images/img1.png', // 改成你的附件路徑 cid : '00000001' // cid可被郵件使用 }, { filename: 'img2.png', // 改成你的附件名 path: 'public/images/img2.png', // 改成你的附件路徑 cid : '00000002' // cid可被郵件使用 }, ] }; mailTransport.sendMail(options, function(err, msg){ if(err){ console.log(err); res.render('index', { title: err }); } else { console.log(msg); res.render('index', { title: "已接收:"+msg.accepted}); } }); });
如果你要發(fā)送附件,則先把要發(fā)送的文件放入工程中,并修改上面代碼的附件的filename和path。
從代碼中可以知道,要在郵件正文中添加圖片,可以設置圖片的cid,然后在img標簽的src中設置為對應的cid即可。
注意,不建議在js代碼中直接嵌入HTML代碼,也不建議把圖片加到郵件正文中。
3.測試
瀏覽器輸入地址(如127.0.0.1:3000/sned)。
發(fā)送等待的時間視附件大小及網(wǎng)絡帶寬等因素不同,如果有一個很大的附件要發(fā)送,可能會等待很長時間;所以,建議在測試的時候使用小文件。
如果發(fā)送成功,會給出提示:
并在郵箱里收到相應的郵件:
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- nodejs實現(xiàn)發(fā)送郵箱驗證碼功能
- node.js模擬實現(xiàn)自動發(fā)送郵件驗證碼
- 如何利用node實現(xiàn)發(fā)送QQ郵箱驗證碼
- Nodejs 發(fā)送Post請求功能(發(fā)短信驗證碼例子)
- Node.js使用第三方插件nodemailer實現(xiàn)郵件發(fā)送示例
- Node使用Nodemailer發(fā)送郵件的方法實現(xiàn)
- nodejs模塊nodemailer基本使用-郵件發(fā)送示例(支持附件)
- 基于Node.js實現(xiàn)nodemailer郵件發(fā)送
- node.js使用nodemailer發(fā)送郵件實例
- node 使用 nodemailer工具發(fā)送驗證碼到郵箱
相關文章
nodejs通過phantomjs實現(xiàn)下載網(wǎng)頁
這篇文章主要介紹了nodejs通過phantomjs實現(xiàn)下載網(wǎng)頁的方法,有需要的小伙伴可以參考下。2015-05-05Node中完整的?node?addon?實現(xiàn)流程
這篇文章主要介紹了Node中完整的node?addon實現(xiàn)流程,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-09-09node的process以及child_process模塊學習筆記
這篇文章主要介紹了node的process以及child_process模塊學習筆記,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03node-gyp安裝vuetify編譯失敗gyp?ERR的問題及解決
這篇文章主要介紹了node-gyp安裝vuetify編譯失敗gyp?ERR的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03