在物聯網(IoT)的應用場景中,遠端影像監控與即時報警系統是非常熱門的專題。本篇教學將帶領大家使用高性價比的 ESP32-CAM 開發板,實作一個「智慧相機通知系統」。當 ESP32-CAM 啟動或觸發時,系統會自動拍攝照片,並透過 SMTP 協議(Simple Mail Transfer Protocol) 將影像作為附件,即時發送到指定的 Gmail 信箱。
本範例會將拍攝的最後一張照片暫時保存在 ESP32 的 LittleFS 檔案系統 中,確保檔案讀寫的安全與穩定性,非常適合用於居家防盜、溫室監控或門禁警報等專題。
🔑 一、Google 帳戶安全設定:申請 16 位元應用程式密碼
由於 Google 提高了安全性防護,傳統的 Gmail 密碼已無法直接在 Arduino 程式碼中登入。我們必須為 ESP32-CAM 申請一組專用的「應用程式密碼」。
💡 SEO 專家貼心建議:
強烈建議您為此專案申請一個全新的 Google Mail 帳號作為「寄件者」,請勿使用您日常的主要電子郵件帳號。若程式碼在測試過程中發生異常,導致短時間內發送過多電子郵件,該帳號可能會被 Google 判定為垃圾郵件帳號而遭暫停使用。
步驟 1:開啟 Google 兩步驟驗證
登入您的 Google 帳戶,進入「Google 帳戶管理」面板。
點選左側功能欄的 [安全性]。
找到「如何登入 Google」,點選 [兩步驟驗證] > 按下 [開始]。
按照畫面提示流程完成設定。
步驟 2:產生 ESP32 專用應用程式密碼
啟用兩步驟驗證後,回到安全性頁面,在上方搜尋欄輸入 「應用程式密碼」 並點選搜尋結果。
應用程式密碼設定: 自行輸入一個容易辨識的名稱(例如:
ESP32-CAM或ESP)。按下 [建立],畫面會彈出一個視窗,顯示一組 16 位元的隨機密碼。
📌 請立即將這組密碼記錄或截圖保存,接下來我們必須將它填入 Arduino 程式碼中。
應用程式密碼設定:
- 自行設定應用程式名稱:如ESP。
- 按下建立後彈跳出畫面顯示:16位密碼 。
- 將密碼記錄或截圖下來,接下來在程式內填入。
📦 二、Arduino IDE 環境配置與程式庫安裝
在開始編寫程式之前,我們需要安裝專門處理郵件傳送的第三方程式庫。
開啟您的 Arduino IDE 開發環境。
點選左側的「程式庫管理員」圖示(或至選單:工具 > 管理程式庫)。
在搜尋欄輸入
ESP-Mail-Client。找到對應的程式庫後,點選 [安裝](您也可以至該專案的 GitHub 官方頁面下載 ZIP 檔手動安裝)。
💻 三、範例程式碼開啟與核心參數修改
安裝完成後,您可以直接開啟 ESP-Mail-Client 內建的範例程式,並根據您的網路與信箱環境修改以下主要參數:
主要程式參數修改說明
- #define SMTP_HOST “smtp.gmail.com” <– (設定為 Google 的 SMTP 伺服器網址)。
- #define AUTHOR_EMAIL “<email>” <– (填入您剛剛專門申請的「寄件方」Gmail 帳號)。
- #define AUTHOR_PASSWORD “<password> <– (填填入剛才產生的 16 位元 Google 應用程式密碼,注意:中間不留空格)。
- #define RECIPIENT_EMAIL “<recipient email here>” <– (填入您用來接收通知的「收件方」電子郵件地址)。
請確保您的 ESP32-CAM 同時也已正確設定 Wi-Fi 的 SSID 與密碼,以便連上網路發送郵件。


🏁 四、成果驗證與 Serial Log 測試
將程式碼成功上傳(Upload)至 ESP32-CAM 開發板。
拔掉下載線並重新上電(或按下板子上的 RST 復位鍵)。
開啟 Arduino IDE 的 序列埠監控器(Serial Monitor),將波特率調整至程式設定值(通常為 115200)。
當系統成功連線並完成拍照後,您會看到 Serial Log 顯示 「郵件傳送成功(Message sent successfully)」的訊息。
此時,您的手機或電腦便會跳出收到新郵件的通知。點開郵件即可看見內文,以及剛剛 ESP32-CAM 所即時拍攝的現場照片附件!
(本文參考來源:Random Nerd Tutorials – ESP32-CAM Send Photos via Email)
▼上傳完成esp32-cam重新上電,可以看到serial log傳送成功。
▼手機彈出收到MAIL通知,點開後可收看內文。









