在一些应用场合(物联网等领域),我们需要使远程设备能够自行和互联网进行交互,记录发生的事件,便于用户实时获取远程设备的运行状态。比如一些家庭监控系统,当摄像头检测到图像有变化时便会自动拍照并将照片发送给住户主人;还比如远程的一些数据采集装置需要定时汇报被检测环境的状态,也可以通过网络发送至用户的服务器。类似的应用很多,有一种简单有效的解决办法便是使用邮件。 所以,在使用MCU的系统中,使用MCU自动向指定邮箱发送邮件,可以简化系统的复杂度。基于此考虑,本设计使用STM32F107VCT6作为主控芯片实现了发送邮件功能。2 y0 l5 I; l A8 E! z, K0 ^; { 硬件平台:STM32F107VCT6 + DP83848 软件平台:uC/OS-II_V2.92 + LwIP-1.4.1 邮件发送使用SMTP协议,使用MCU和指定的SMTP服务器建立连接,通过此SMTP服务器向指定邮箱发送邮件即可。( ~: a+ ?0 D: Z/ K+ H0 w T- L 笔者分别移植了uC/OS-II(到Micrium公司官网下载最新uC/OS-II源码,www.micrium.com,和LwIP的最新版本(最新版本是1.4.1,www.savannah.nongnu.org/projects/lwip/),另外,在LwIP网站上还提供了几个示例:http server、ping、shell、smtp、tcpecho、udpecho等可以参考。笔者使用其中的smtp示例。$ Y y; F! c3 C9 D 平台搭建完成后,发送邮件就很简单了,主要分为4步: 1、 设置SMTP服务器的IP地址。值得注意的是,若启用了DNS功能,直接设置SMTP服务器的域名即可。笔者使用的是新浪邮箱,新浪的SMTP服务器域名是smtp.sina.com.cn,代码可写成: smtp_set_server_addr("smtp.sina.com.cn"); 2、 设置SMTP服务器使用的端口号,规定端口号是25,所以: smtp_set_server_port(25); 事实上,SMTP示例程序中默认端口号就是25,此步可以省略。 3、 设置用户名和密码,SMTP需要登陆验证,只有正确的用户才可以授权使用SMTP服务器发送邮件,[email=笔者的新浪邮箱是gyf_23@sina.com]笔者的新浪邮箱是gyf_23@sina.com[/email],密码就不在此公开了^_^;代码为:2 i) W# e' p# {, b# r, U/ ^! t$ V smtp_set_auth("gyf_23@sina.com", "密码"); 4、 通过以上三步便可以发送邮件了,笔者使用新浪的SMTP服务器向QQ邮箱发送了一封邮件,邮件的标题是"A email from mcu!",邮件内容是:"Hello, smtp server! This is a email from stm32!"。代码如下: smtp_send_mail("gyf_23@sina.com", "279088304@qq.com", "A email from mcu!", "Hello, smtp server! This is a email from stm32!", my_smtp_result_fn, NULL);/ m$ h3 I: c/ _+ C+ l0 g : U0 M+ c! U( `1 k% k) m: z 通过以上几步,查看qq邮箱便可以看到“来自STM32的邮件”了!' X* c% B. l3 Q+ C& N& ? |
【管管推荐】STM32经验分享篇
STM32固件库分享,超全系列整理
小马哥STM32F103开源小四轴RoboFly全部资料大放送
【MCU实战经验】+STM32F107的USB使用
基于STM32F103两轮平衡小车设计(开源)
STM32F107VCT6官方原理图和PCB
【福利】用STM32库的朋友有福了:STM32F10x_StdPeriph_Lib_V3.5.0chm...
基于STM32F10xx存储器和系统架构经验分享
基于STM32F1的CAN通信之BH1750
基于STM32F1的CAN通信之OLED
我需要一份EMAIL的测试代码,最好能带附件的更好. EMAIL地址: sst_mcu@163.com., _! l" k6 C' Z: F; y- P
谢谢!
想好好学习一下,您能发一份测试源码吗?我的邮箱569270697@qq.com.谢谢了!
RE:【MCU实战经验】+ 基于STM32F107的SMTP邮件发送
RE:【MCU实战经验】+ 基于STM32F107的SMTP邮件发送
RE:【MCU实战经验】+ 基于STM32F107的SMTP邮件发送
回复:【MCU实战经验】+ 基于STM32F107的SMTP邮件发送
RE:【MCU实战经验】+ 基于STM32F107的SMTP邮件发送
回复:【MCU实战经验】+ 基于STM32F107的SMTP邮件发送
RE:【MCU实战经验】+ 基于STM32F107的SMTP邮件发送
RE:【MCU实战经验】+ 基于STM32F107的SMTP邮件发送
RE:【MCU实战经验】+ 基于STM32F107的SMTP邮件发送
回复:【MCU实战经验】+ 基于STM32F107的SMTP邮件发送
RE:【MCU实战经验】+ 基于STM32F107的SMTP邮件发送
RE:【MCU实战经验】+ 基于STM32F107的SMTP邮件发送
回复:【MCU实战经验】+ 基于STM32F107的SMTP邮件发送
RE:【MCU实战经验】+ 基于STM32F107的SMTP邮件发送