安裝套件:
npm install --save nodemailer
程式範例如下,利用自己的Gmail來寄信
var nodemailer = require('nodemailer');
var transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: 'myemail@gmail.com', //自己的Gmail Address
pass: 'password'
}
});
const mailOptions = {
from: 'sender@email.com', //寄件者
to: 'receivers@email.com', //收件者
subject: '測試', //信件主旨
html: '<p>Hello,the world</p>' //信件內容
};
transporter.sendMail(mailOptions,(error, info) => {
if (error) {
console.log(error);
} else {
console.log(info.response);
}
});
因為我有啟用Gmail的兩階段認證,所以測試時出現密碼錯誤,需要特殊的密碼。
解決的方式是登入Google,在「登入和安全性」的頁面中選取「應用程式密碼」
在接下來的步驟中,應用程式選擇「郵件」,並在選取裝置中選擇「其他(自訂名稱)
輸入名稱後按下「產生」,會產生一組特殊的密碼,只要將這組密碼取代自己的Gmail密碼,
程式就可以不用經過兩階段認證而寄出信。
這組特殊的密碼僅供應用程式使用,所以原本的密碼及兩階段認證並不受影響。