0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样用ESP8266WiFi模块发送电子邮件

454398 来源:工程师吴畏 2019-07-29 09:30 次阅读

简介

随着物联网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

    文章

    947

    浏览量

    43997
收藏 人收藏

    评论

    相关推荐

    单片机怎么连接wifi模块esp

    连接WiFi模块ESP8266到单片机有多种方法和步骤。在这篇文章中,我将为您详细介绍如何连接ESP8266模块到Arduino单片机。本文
    的头像 发表于 12-25 13:42 882次阅读

    ESP8266 WiFi模块用户手册V1.0

    电子发烧友网站提供《ESP8266 WiFi模块用户手册V1.0.doc》资料免费下载
    发表于 11-17 10:09 10次下载
    <b class='flag-5'>ESP8266</b> <b class='flag-5'>WiFi</b><b class='flag-5'>模块</b>用户手册V1.0

    请问怎样配置ESP8266WiFi帐户及密码?

    请问怎样配置ESP8266WiFi帐户及密码
    发表于 11-07 06:40

    ESP8266 WiFi库文件资料

    ESP8266WiFi库文件
    发表于 09-25 07:37

    如何使用Raspberry Pi4摄像头和PIR传感器发送电子邮件

    电子发烧友网站提供《如何使用Raspberry Pi4摄像头和PIR传感器发送电子邮件.zip》资料免费下载
    发表于 06-19 15:48 4次下载
    如何使用Raspberry Pi4摄像头和PIR传感器<b class='flag-5'>发送电子邮件</b>

    ESP8266ESP32上的WiFi Webradio

    电子发烧友网站提供《ESP8266ESP32上的WiFi Webradio.zip》资料免费下载
    发表于 06-13 11:38 0次下载
    <b class='flag-5'>ESP8266</b>或<b class='flag-5'>ESP</b>32上的<b class='flag-5'>WiFi</b> Webradio

    远程监控系统通过短信发送电子邮件

    项目目标是在达到编程阈值时自动发送电子邮件。用户对温度和模拟输入的报警阈值进行编程。当满足任何报警条件时,系统将使用GSM模块发送标准SMS消息。短信必须发送到TynTec指定的手机号
    的头像 发表于 06-08 14:19 1440次阅读
    远程监控系统通过短信<b class='flag-5'>发送电子邮件</b>

    如何用esp8266打开网站?

    打开(使用 IFTTT),它会发送一封电子邮件,但我无法让 esp8266 打开链接。有人可以帮我在最后的 if 循环 中需要什么,还是我做的完全错了?谢谢你的帮助。 代码:全选#include
    发表于 06-07 08:15

    如何使用esp8266请求https?

    个链接,如果我打开 (ifttt),它会发送一封电子邮件,但我无法让 esp8266 打开链接。有人可以帮我在if 循环 中需要什么,还是我做的完全错了?谢谢你的帮助。 代码:全选#include
    发表于 06-07 07:11

    ESP8266基于布尔状态隐藏网页按钮不起作用是什么原因?

    我是 ESP8266 的新手,对 html 的了解有限。 我正在使用 NodeMCU ESP8266 ESP-12E 我有一个托管在 ESP8266 上的网页,我在其中向程序
    发表于 06-02 06:21

    ESP8266初次如何实现无线通信(基于电脑与ESP8266)

    的且集成的国产WIFI模块,它有很多种型号,但是使用方法没什么太大的区别,也可以说没区别,有些看起来引脚比较多的ESP8266模块只是将这个芯片的IO口拓展出来了而已。还有 一种原因就
    发表于 05-30 09:53 14次下载
    <b class='flag-5'>ESP8266</b>初次如何实现无线通信(基于电脑与<b class='flag-5'>ESP8266</b>)

    ESP8266如何使用带PIR运动传感器的深度睡眠来唤醒它?

    这是我的项目,它在 Adafruit HUZZAH ESP8266 上使用深度睡眠模式并由 PIR 运动传感器唤醒。然后它会重新连接到 WiFi 并通过 IFTTT 发送电子邮件。 电池寿命从大约
    发表于 05-23 08:16

    ESP8266如何发送电子邮件并保持OTA连接吗?

    我编写了一个 ESP8266 来监控我的污水泵。如果水位高,它会向我发送电子邮件。上周我读到了 OTA,我想在 ESP 上使用它。从 Arduino ide 运行 BasicOTA 并对 ES
    发表于 05-12 07:20

    如何从ESP8266WiFi.h ESP8266 NodeMCU了解WiFiClient?

    客户端! 所以 (2) 使用 ESP8266WiFi 和 WiFiServer 和 WiFiClient 如何识别个人客户端,例如查看 IP。我希望能够向仍在我已发送的包含所有内容的页面上的客户发送较短
    发表于 05-08 06:17

    由于文件丢失无法编译esp8266 wifi库要怎么解决?

    esp8266 的新手,熟练的 arduino 用户。 为了启动和运行基础知识,我从 下载了库。 从克隆的存储库中,我将 ESP8266Wifi 库 (.\\libraries
    发表于 05-04 09:05