如何通過ESP8266 NodeMCU發(fā)送SMTP郵件
物聯(lián)網(IoT)正在以驚人的速度擴展,物聯(lián)網應用的范圍正在從控制電器擴展到監(jiān)控設備和發(fā)送電子郵件。SMTP表示“簡單郵件傳輸協(xié)議”,它是一些服務器的集合,目的是以電子郵件的形式發(fā)送和接收消息。
在本項目中,我們將使用ESP8266 NodeMCU發(fā)送SMTP電子郵件。SMTP服務器是一個第三方服務器,我們在這里使用它從ESP8266 NodeMCU發(fā)送電子郵件。SMTP與其他電子郵件服務器類似,只是在功能上有所不同。
組件的要求
?NodeMCU
?SMTP服務器
SMTP服務器設置
要使用SMTP發(fā)送電子郵件,我們需要設置一個SMTP服務器。
點擊“嘗試SMTP2GO免費”注冊一個免費帳戶。
將彈出一個窗口,您需要在其中輸入一些憑證,如姓名,電子郵件id和密碼。
注冊后,您將在輸入的電子郵件中收到激活請求。從電子郵件中的驗證鏈接激活您的帳戶,然后使用您的電子郵件id和密碼登錄。
一旦您登錄,您將獲得您的SMTP用戶名和SMTP密碼。記住或復制這些到你的記事本,以備將來使用。之后點擊“finish”。
現(xiàn)在在左側的訪問欄上,點擊“設置”,然后點擊“用戶”。在這里,您可以看到有關SMTP服務器和端口號的信息。通常是這樣的:
編碼用戶名和密碼
現(xiàn)在我們必須更改用戶名和密碼在base64編碼格式與ASCII字符集。要將電子郵件和密碼轉換為base64編碼格式,請使用一個名為BASE64ENCODE .Copy編碼的用戶名和密碼,供進一步使用:
代碼的解釋
請先安裝ESP8266 WiFi庫并輸入WiFi詳細信息,然后初始化SMTP服務器。
因此,通過使用下面的代碼ESP8266將測試wifi是否連接,如果wifi連接,那么它將在串行監(jiān)視器上打印wifi連接和IP地址。
WiFiClient espClient;
為了在端口上連接SMTP服務器,我們編寫了如下代碼?!翱蛻舳?。connect(SMTP_SERVER, SMTP_PORT) '用于連接SMTP服務器。如果它連接,它將用“EHLO”命令向SMTP服務器致意。
在此之后,它將使用AUTH LOGIN Command的客戶端授權用戶。println(“身份驗證登錄”)”。
依次發(fā)送編碼后的“SMTP用戶名”和“密碼”。命令是客戶端。println(“輸入已編碼的用戶名”);和客戶。println(“您的編碼密碼在此”);
現(xiàn)在輸入發(fā)件人和收件人的電子郵件ID。
使用以下命令發(fā)送電子郵件的“DATA”后跟消息體:
最后,使用“”終止郵件。,并發(fā)送退出命令。
編程ESP8266發(fā)送電子郵件使用SMTP服務器
本文最后給出了該項目的完整代碼。之后,在此代碼中進行所有必要的更改,然后將其上傳到Arduino IDE。您的串行監(jiān)視器將如下所示:
因此,您的電子郵件地址將收到如下圖所示的電子郵件:
更多的物聯(lián)網項目使用ESP8266, ESP32和樹莓派與不同的物聯(lián)網平臺,如Adafruit IO, IFTTT, ThingSpeak按照給定的鏈接。
本文編譯自iotdesignpro





