开发者社区> usher.yue> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

关于SMTP协议发送邮件的总结

简介:   最近在看一本书,是VC++网络编程,可以说那本书写的乱七八糟,我也晕头转向、、、  、 我写的大家可能有些看着抽象,捡着能看懂的看就行,我讲述的是SMTP的原理,而不是如何编程来实现,我纠结一天的感悟,希望对学习网络编程的朋友能有些帮助。
+关注继续查看

  最近在看一本书,是VC++网络编程,可以说那本书写的乱七八糟,我也晕头转向、、、  、

我写的大家可能有些看着抽象,捡着能看懂的看就行,我讲述的是SMTP的原理,而不是如何编程来实现,我纠结一天的感悟,希望对学习网络编程的朋友能有些帮助。。。

  书上的SMTP小例子是写一个可以向  smtp.163.com邮件服务器邮件,于是我就跟着探索!!

   SMTP是简单邮件传送协议,标准端口是25 ,SMTP也是TCP/IP族的成员,

    其实一直不大理解 SMTP协议 FTP协议等等协议,但是经过一天的纠结之后 终于明白了TCP  /IP族下的协议 ,其实都是一个玩意 ,都是客户端通过 套接字发送命令 然后服务器进行命令的响应 并且回应一定的信息用于表示,这条命令的执行状态。。。   

  我调试了大半天 一直失败,根据书上说的和以前的源码 ,我发现好多SMTP命令在 163的SMTP服务器上似乎不管用,而且返回错误信息

220 163.com Anti-spam GT for Coremail System (163com[20111010]) //这是链接之后服务器自动发送过来的

250 OK    //发送的是HTLO   xiaowei   命令之后服务器返回的信息表示成功

502 Error: command not implemented    //到这里信息就出错了 ,
 

死活就卡死在这里了,这样一来我的邮件发送器就做不下去了 ,于是我到处 baidu 原因,终于我发现了 原来 是因为 SMTP验证的原因,

虽然我们能链接上 SMTP服务器但是 我们却不能发送邮件了,因为没有经过SMTP验证,   验证方式好像有很多种,RFC中也有介绍 。

虽然心有不甘,没实现邮件发送的功能,但是起码了解了 SMTP的作用也算有点收获。

毕竟人家是专业邮件服务器,如果让我们这样随便写个程序就能发送邮件的话那么人家能正常运营么?

以前的很多源码利用SMTP能发送成功的原因是因为以前的邮件服务器没有 SMTP认证,最近几年 很多免费邮箱 都加上了 SMTP认证

还有大家记得以前的匿名邮件吗? 

这种邮件曾被作为广告的一种形式被很多人利用, 只有没有加SMTP认证的邮箱服务器才可以进行匿名发送邮件。

不知道是不是我水平太差的缘故,我觉得有了SMTP认证这一个栏坎,利用SMTP协议匿名邮件起码我 感觉 无法实现了 、、、、

 

电子邮件格式:  包括信息头(一些SMTP命令)和信息体(邮件的内容) 

我们在向服务器发送邮件的时候,需要通过SMTP协议进行  。。

SMTP协议其实是我们利用socket进行一条一条的命令行的发送  的,并且收到命令后会返回 三位的响应码和一些响应信息, ,邮件内容和SMTP命令在客户机和服务器之间都是通过文本流的方式进行数据的传递的。

实际编程中我们只需要利用套接字建立和服务器的链接之后,然后就发送SMTP命令就行了,这里我只讲述原理,开发的时候大家需要自己参考RFC以及相关的书籍,

我也说不清,说实话也不明白。。。。嘿嘿

简单的SMTP命令

响应码

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SpringBoot2.x 整合 邮件发送(上)
在实际项目中,经常需要用到邮件通知功能。比如,用户通过邮件注册,通过邮件找回密码等;又比如通过邮件发送系统情况,通过邮件发送报表信息等等,实际应用场景很多。 正常我们会用 JavaMail 相关 api 来写发送邮件的相关代码,但现在 SpringBoot 提供了一套更简易使用的封装。这篇文章,阿粉就带大家通过 SpringBoot 快速的实现发送邮件的功能。
47 0
css+html 关于文本的总结(整理中)
布局1:固定行数    示例文字示例文字示例文字示例文字 div{ width:100px;  overflow:hidden;} P{   overflow:hidden; display: -webkit-box; -webkit-bo...
929 0
基于smtp协议的邮件系统(自己写的)
最近几天做好了应用【<a target="_blank" href="http://as.baidu.com/a/item?docid=5066575&amp;pre=web_am_se">贱泰迪</a>】,其中有个意见反馈,发送邮件,<br> 我知道可以调用系统发送邮件,但这种方法有个弊端,就是您的手机必须安装Mail的客户端,<br> 因此我想不用系统发送邮件这种方式,能不能向任意
2619 0
如何使用 Cdosys.dll 库使用ASP发送邮件带附件
 &lt;%@ Language=VBScript CODEPAGE=65001%&gt; &lt;% Response.Buffer=True %&gt; &lt;% 'Collaboration Data Objects, version 1.2.1(CDO) 'http://www.microsoft.com/downloads/details.aspx?FamilyId=271
1572 0
+关注
usher.yue
算法相关技术专家
431
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载