摘要:使用發送郵件最近在做用戶注冊的功能,有這樣的需求用戶填完信息點擊注冊后,服務器要發給用戶注冊郵箱一個激活鏈接來激活賬戶,后端用寫的,第一次做后端發送郵件的功能,折騰了半天,終于實現了,哈哈。
使用Nodemailer發送郵件
最近在做用戶注冊的功能,有這樣的需求:用戶填完信息點擊注冊后,服務器要發給用戶注冊郵箱一個激活鏈接來激活賬戶,后端用Node寫的,第一次做后端發送郵件的功能,折騰了半天,終于實現了,哈哈。
關于Node生態下發送郵件的插件也有很多,我用的比較主流的Nodemailer來做的。如果要用SMTP協議的話還要引入Nodemailer的一個模塊nodemailer-smtp-transport
Nodemailer官網
首先新建一個文件夾,cd到這個文件夾
安裝 Nodemailer 和 nodemailer-smtp-transport
npm i nodemailer nodemailer-smtp-transport --save
在文件根目錄下新建test.js文件,結合官網給的的例子,我們先搭建一個簡單的例子
//test.js const nodemailer = require("nodemailer") const smtpTransport = require("nodemailer-smtp-transport") // 1. 創建 const transport = nodemailer.createTransport(smtpTransport({ host: "xxx.com", //查看發送郵件的郵箱開放的host port: xx, //查看發送郵件的郵箱開放的port secureConnection: true, //使用 SSL auth: { user: "xxx@xxx.com", //發送郵件的郵箱 pass: "xxxxxx" //發送郵件的郵箱的密鑰 } })); // 2. 郵件的具體信息 const mailOptions = { from: ""小明"", //發送郵件的郵箱,與上面 user 相同 to: "xxx@xxx.com", //接收郵件的郵箱,如有多個,用逗號隔開 subject: "這是一封測試郵件", //郵件標題 html: " 這是一封用nodejs的nodemailer發送的測試郵件。
" //郵件內容,可以為html }; // 3. 發送郵件 transport.sendMail(mailOptions, function(error, info){ if(error){ console.log(error); }else{ console.log("Message sent: " + info.response); } });
這樣基本的框架都搭好了,其實重要的是在創建時,如何獲取到 host port 以及 user中的name和pass
下面我試驗了兩種郵箱,QQ郵箱 阿里的企業郵箱
QQ郵箱查看了QQ郵箱的幫助中心 得知
host 為 smtp.qq.com
port 為 465
user 是你要發送郵件的郵箱
pass 需要開啟郵箱的SMTP
功能,開啟方法在QQ郵箱幫助中心有
開啟的時候他會發送給你一串英文,這個就是我們需要的pass
到這個地方就可以測試一下了!
到終端執行
node test.js
可以看到打印的日志,如果顯示OK,那就快去接收的郵箱里看看有沒有郵件了
注意這里是企業郵箱,因為我在阿里云上買的域名,送的企業郵箱,所以想著試一試。
他的幫助文檔里也可以查到
host 為 smtpdm.aliyun.com
port 為 25
user 是你要發送郵件的郵箱
pass 的獲取需要配置一下郵箱,使用 SMTP 發送郵件
如果沒有發信域名需要自行新建域名,新建完成后配置域名,鏈接
然后驗證發信域名,驗證成功后,點擊發信地址 點擊設置SMTP密碼(注意:這里必須要設置SMTP密碼,否則還是沒有開啟成功)
pass就是你剛剛輸入的SMTP密碼
快去測試一下吧~
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/107114.html
摘要:本文首發于個人博客項目源碼,歡迎,說不定哪天脫單了就能用到了寫在前面自從用郵箱注冊了很多賬號后,便會收到諸如以下類似的郵件剛開始還以為是一張圖片,后來仔細一看不是圖片呀,好像還是呀,于是好奇寶寶我一下,查閱多篇資料后總結出怎么用前端知識和做 本文首發于個人博客:VinceBlog 項目源碼:NodeMail,歡迎star,說不定哪天脫單了就能用到了 寫在前面 自從用郵箱注冊了很多賬號后...
摘要:但是,畢竟是人,哪天忙了就會忘記提交,所以想著能不能實現在自己阿里云服務器系統上,設置,定制下命令,實現每天定點自動提交。 前言 進入自己github主頁會看到自己的提交記錄,如果某天沒有提交記錄,那天的小方框就顯示灰色。強迫癥的我,每次進來看著就感覺不爽,想著自己每天記得提交點東西,爭取像阮一峰大神一樣,每天都有提交記錄。 showImg(https://www.wty90.co...
摘要:業務量計算和數據打點這里提到的業務量,指的是監控預警系統所關注的數據業務,如內存和利用率吞吐量和響應時間。其中,內存和利用率可以通過下的相關命令如來查詢,響應時間和吞吐量則通過中間件實現粗略統計。 需求背景 目前node端的服務逐漸成熟,在不少公司內部也開始承擔業務處理或者視圖渲染工作。不同于個人開發的簡單服務器,企業級的node服務要求更為苛刻: 高穩定性、高可靠性、魯棒性以及直觀的...
閱讀 2753·2021-11-19 09:40
閱讀 5321·2021-09-27 14:10
閱讀 2108·2021-09-04 16:45
閱讀 1480·2021-07-25 21:37
閱讀 3003·2019-08-30 10:57
閱讀 2988·2019-08-28 17:59
閱讀 1062·2019-08-26 13:46
閱讀 1414·2019-08-26 13:27