打印

stm32+lwip+smtp发邮件

[复制链接]
4991|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
如题,我在stm32+lwip中用tcp与smtp.sina.cn 25建立连接后,之后按照smtp的命令发送,
以下是串口返回来的响应数据
354 go ahead
250 ok:  Message 1080335874 accepted
250 ok
这里提示已经发送成功了,我打开目标邮箱发现并没有收到邮件,我在邮箱中都设置开启了smtp这个选项,两个邮箱都是sina的,不知道有人知道这个是为什么不?我试了几遍都一样,qq邮箱也试过也不行。。
沙发
610095871|  楼主 | 2013-7-17 17:19 | 只看该作者

通过pop3协议查看邮箱内容都是正常的,不过由于其编码是utf-8所以中文全是乱码。
现在就是通过smtp发邮件不成功。。。。

使用特权

评论回复
板凳
cjhk| | 2013-7-17 19:03 | 只看该作者
有时间多学一学   谢谢了  楼主   很不错  需要好好学一学   顶一个   

使用特权

评论回复
地板
logokfu| | 2013-7-17 21:24 | 只看该作者
用sohu邮箱试试

使用特权

评论回复
5
610095871|  楼主 | 2013-7-18 08:13 | 只看该作者
**kfu 发表于 2013-7-17 21:24
用sohu邮箱试试

OK  我尽快试试

使用特权

评论回复
6
610095871|  楼主 | 2013-7-18 08:41 | 只看该作者
本帖最后由 610095871 于 2013-7-18 08:52 编辑

sohu的smtp开通貌似比较麻烦,需要进行身份认证才可以,我网上看了下,貌似除了qq邮箱是免费试用smtp之外,其他都是收费的,之后我用qq邮箱做了个测试,是可以成功发送的,可能是其他邮箱的smtp功能被关闭了吧,不过网易的我没试过
现在我来共享下我是如何在lwip上实现的。
我没在lwip上激活dns功能,因为仅仅做个测试,不过dns的功能是正常且比较好用的,
我在pc上用ping命令获取qq邮箱smtp服务器的IP,之后再lwip上利用tcp与其建立连接,端口绑定为25,设定好回调函数
在回调中设置接收数据处理,判断服务器返回的状态号,之后发送相应的命令,有时候需要判断返回的内容,比如在登陆的时候返回334 但是一个是输入账户一个是输入密码。
之后就可以发送一封简单的邮件到指定的邮箱了。
用到的命令主要有
ehlo helo 向服务器打招呼
auth login 验证登陆
之后密码和账户都是需要base64编码后再发给smtp服务器
mail from: xxxx@xx.com
rcpt to: xxxx@xx.com
设置完发信人和收信人后都会返回250OK
发送Data 进入邮件内容编辑
subject:xxxxx
                           ///一个回车
xxxxxx    //邮件内容
                           //一个回车
.              //这里有个.(点)作为结束
之后回返回250 Ok: queued as
说明投递成功
在发送的时候内容后面都要加个回车键
例如"ehlo helo\r\n”
:lol其他的没什么好分享的了

使用特权

评论回复
7
xiaoaa| | 2013-11-12 22:46 | 只看该作者
不错,准备用RT-THREAD+LWIP来实现

使用特权

评论回复
8
yklstudent| | 2015-9-28 12:27 | 只看该作者
610095871 发表于 2013-7-18 08:41
sohu的smtp开通貌似比较麻烦,需要进行身份认证才可以,我网上看了下,貌似除了qq邮箱是免费试用smtp之外, ...

楼主还能在仔细讲讲这个发送过程和发送的数据内容具体是什么?我试试发送ehlo helo命令,没回应不知道怎么回事

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:UCGUI源码学习中---Q群295214484 http://ucgui.taobao.com

27

主题

323

帖子

10

粉丝