电子说
简介
随着物联网(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发送电子邮件。
全部0条评论
快来发表一下你的评论吧 !