昨天就開始想使用nodemailer來實現一個發送郵件的功能,不過發現了很多個坑,網上給的資料也很雜很亂,所以決定寫一篇真正能用的來幫助大家減少彎路
首先,我們先來看下代碼,如上所示.
步驟:
1.下載npm包: npm install nodemailer --save
2.編寫類似於以上的代碼:在這里面,我使用smtp來登陸我的郵箱,利用nodemailer.createTransporter來創建連接
3.編寫郵件內容,郵件各個屬性的意義看注釋
4.利用transport.sendMail函數來發送郵件.
常見錯誤:
如果使用QQ郵箱的話,你的密碼應該是授權碼。首先你得開啟SMTP服務,步驟如下:
1.打開你的QQ郵箱
2.點擊設置,並且選擇賬戶
3.往下拉,找到第一個,POP3/SMTP,點擊開啟
4.開啟成功后,點擊生成授權碼
5.得到授權碼后,pass對應的是授權碼,將其填入即可.
然后你使用126郵箱話呢,一樣的道理,得先去開啟POP3/SMTP服務,開啟頁面如下
然后點擊下面的客戶端授權密碼,獲取授權碼,然后填到pass里即可(不過用126郵箱有個坑,就是你發的內容會被視為垃圾郵件,不給你發送,除非你發給自己)
當然,使用126郵箱的話呢,那個createTransport里的host要改為"smtp.126.com"
nodemailer還有一個神奇的功能,可以發送附件(具體代碼如下):
以上就是整個流程了~~
更加詳細的功能可以去https://github.com/nodemailer/nodemailer上看.