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