nodejs實現郵件發送


需要安裝的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文件鏈接:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM