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