logo
Published on

(2023年7月) Nodemailer使用Google SMTP發送電子郵件

Authors
  • avatar
    Name
    Eddy Chang
    Twitter

註: Google有關Gmail的發送限制

註: 參考在這裡的github repo

圖解說明

登入gmail帳號後在"管理你的Google帳戶"裡的"安全性"

1。‼️必要‼️ 要先啟用兩步驟驗証(例如使用手機、接收簡訊…),此步驟本文章略過,請參考網路上的其它說明:

2。兩步驟驗証啟用成功後,點入兩步驟驗証裡面的內容,點入"應用程式密碼"

3。會有兩個選項,可以自訂選一選或填隨便資料後,按右下角"產生"按鈕後,之後產生一組雜湊密碼(圖上黃色背景條這個),記得要複製出來,因為只能在這看一次,之後無法再讀取到。

4。複製剛的雜湊密碼(上圖黃色背景條那個),和申請用的Gmail帳號,到專案中根目錄的.env檔案裡,裡面的SMTP_TO_EMAILSMTP_TO_PASSWORD,一個貼上email另個是密碼。如果你有在express的app.js中導入email.js路由,在啟動node(express)後,會看到有SMTP Server Connected. Ready to send mail!,代表已經驗証成功,可以開始寄信了。

5。要寄送的email內容寫在/routes/email.js裡,自行定義要寄送的如標題(subject)或內容(text),預設是純文字內容。

6。測試發送,這專案設定的路由是localhost:3005/api/email/send

7。測試是否有收到email的畫面

其它參考資源