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