簡介
隨著物聯(lián)網(wǎng)(IoT)的擴展,物聯(lián)網(wǎng)應(yīng)用的范圍正在從控制設(shè)備到監(jiān)控設(shè)備(如傳感器)和發(fā)送電子郵件不斷增長。
通過發(fā)送ESP8266模塊的電子郵件,您可以了解您正在監(jiān)控的任何傳感器的狀態(tài),或者您可以在入室盜竊或入侵者警報時收到緊急電子郵件。
因此,請不要再拖延,讓我向您展示使用ESP8266 WiFi模塊發(fā)送電子郵件所需的所有步驟。
ESP8266 Board
如前所述,我將在此項目中使用DFRobot FireBeetle ESP8266電路板發(fā)送電子郵件。您可以使用任何ESP8266模塊,我已經(jīng)使用我的ESP-01 ESP8266板測試了這個程序,它運行得很好。
BUYNOW:DFRduino UNO R3 - Arduino兼容
由于DFRobot FireBeetle ESP8266板具有所有必需的組件,如MicroUSB端口,3.3V穩(wěn)壓器等。我不需要對電路板進行任何額外的連接。
我需要做的就是插件端口中的MicroUSB電纜并將其連接到計算機(已安裝驅(qū)動程序并已設(shè)置Arduino IDE)。
這是選擇的主要原因之一DFRobot FireBeetle ESP8266板通過我的常規(guī)ESP-01模塊。
所以,我建議你仔細閱讀DFRobot FireBeetle ESP8266板的連接指南,如下所述。以下項目: DFROBOT FIREBEETLE ESP8266審查和追加指南 。
SMTP服務(wù)器設(shè)置
要從ESP8266模塊發(fā)送電子郵件,您需要遵循SMTP協(xié)議。因此,SMTP服務(wù)器需要發(fā)送電子郵件,ESP8266將充當SMTP客戶端。
我已多次嘗試使用Gmail的SMTP設(shè)置來發(fā)送電子郵件ESP8266,但它并不富有成效。所以,我決定使用第三方SMTP服務(wù)器,我發(fā)現(xiàn)“SMTP2GO”是一個可靠的選擇。
因此,請轉(zhuǎn)到 SMTP2GO 網(wǎng)站并注冊免費帳戶。創(chuàng)建帳戶后,第一步是創(chuàng)建SMTP用戶名和SMTP密碼。事實上,當您確認電子郵件地址并首次登錄SMTP2GO時,這就是您將獲得的信息。
保留用戶名,即電子郵件地址并根據(jù)您自己的選擇更改SMTP密碼。請注意,這是SMTP密碼,與SMTP2GO登錄密碼不同。
記下兩個,即SMTP用戶名和SMTP密碼。
現(xiàn)在,進入SMTP2GO應(yīng)用程序的儀表板,在左側(cè)訪問欄上,單擊“設(shè)置”,然后單擊“用戶”。
在此,您可以看到有關(guān)SMTP服務(wù)器和PORT編號的信息。通常如下:
SMTP服務(wù)器: mail.smtp2go.com
SMTP端口: 2525
記下這些信息需要在代碼中使用此數(shù)據(jù)。
編碼用戶名和密碼
您需要使用ASCII字符集將SMTP用戶名和SMTP密碼編碼為Base64格式。為此,您可以使用Arduino庫或名為 BASE64ENCODE 的網(wǎng)站。
分別輸入您的SMTP用戶名和密碼,并記下編碼的內(nèi)容。例如,如果您的電子郵件地址為test@gmail.com,則會將其編碼為dGVzdEBnbWFpbC5jb20 =。
如果您的密碼為“testpassword”(不包括引號),它將被編碼為dGVzdHBhc3N3b3Jk。
代碼
現(xiàn)在,讓我向您展示必要的代碼,以便發(fā)送使用ESP8266發(fā)送電子郵件。
在代碼中,進行必要的更改,如SSID,WiFi連接密碼,發(fā)件人和收件人電子郵件地址,Base64編碼SMTP用戶名和SMTP密碼。
代碼說明
代碼的初始部分非常簡單,用于將ESP8266 WiFi模塊連接到Internet。如果連接成功,您將獲得IP地址。
接下來是發(fā)送電子郵件的實際代碼。代碼可以分為8個階段。
階段1:在階段1中,您將連接到PORT上的SMTP服務(wù)器。這是使用命令client.connect(SMTP_SERVER,SMTP_PORT)完成的。作為回應(yīng),您將獲得220個代碼。
階段2:使用EHLO命令(以前的HELO命令)問候SMTP服務(wù)器。該命令是client.println(“EHLO www.example.com”);
如果連接成功,您將獲得250響應(yīng)代碼。
階段3:階段3是使用AUTH LOGIN命令授權(quán)用戶。該命令是client.println(“AUTH LOGIN”);。您將獲得響應(yīng)334以獲得成功。
階段4:一個接一個地發(fā)送編碼的SMTP用戶名和密碼。命令是client.println(“Base64,ASCII編碼的用戶名”);和client.println(“Base64,ASCII編碼密碼”);。
如果身份驗證成功,您將獲得235響應(yīng)。
第5階段:現(xiàn)在是時候從字符串發(fā)送郵件了,您必須使用MAIL FROM:《“+ String(from)+‘》格式輸入發(fā)件人的電子郵件地址’;。
命令是client.println(“MAIL From:sender@gmail.com”);
階段6:然后使用格式RCPT TO:《“+ String(to)+‘》’;將rcpt發(fā)送到字符串。命令是client.println(“RCPT To:receiver@gmail.com”);。
階段7:發(fā)送“DATA”后跟隨通過電子郵件的消息正文。命令是
client.println(“DATA”);
client.println(“To:receiver @ gmail .com“);
client.println(”From:sender@gmail.com“);
客戶端。 println(“主題:ESP8266測試電子郵件 r n”);
client.println(“這是從ESP8266發(fā)送的測試電子郵件。 n “);
client.println(”測試電子郵件的第二行。“);
階段8:最后,使用“。”終止郵件并發(fā)送退出命令。
client.println(“”);
client.println(“QUIT”);
所有這些命令和響應(yīng)將顯示在Arduino IDE的串行監(jiān)視器中。
如果您按照上述所有步驟操作,您將能夠成功使用ESP8266發(fā)送電子郵件。
-
ESP8266
+關(guān)注
關(guān)注
51文章
965瀏覽量
47331
發(fā)布評論請先 登錄
評論