发送邮件的原理

主要是两个协议,SMTP和POP3

      SMTP:Simple Mail Transfer Protocol,即简单邮件传输协议,发送邮件的协议,默认端口,25

      POP3:Post Office Protocol 3,即邮局协议,接收邮件的协议,默认端口,110

    知道了这两个协议,下面来说说邮件发送和接收的原理图,分两种,相同邮件(QQ邮箱给QQ邮箱)和不同邮件(QQ邮箱给163邮箱)是不一样的。

          

       解释:    

          为了方便起见,将新浪邮箱,list@sina.com称为用户A,将搜狐邮箱,wangwu@sohu.com 称为用户B

        用户A(新浪邮箱,list@sina.com)给用户B(搜狐邮箱,wangwu@sohu.com)发送一封邮件,那么整个过程就为图中的实线部分,用户A通过OutLook(浏览器或者客户端)登录自己的邮箱帐号,编写邮件,使用Smtp协议发送给Sina的邮件服务器中的Smtp服务器(专门用来发送的服务器),然后在通过SMTP协议,传输给Sohu的邮件服务器中的Smtp服务器,然后通过Sohu的Smtp服务器将邮件发送给用户B的存储设备进行存储(每个用户都会有一个存储空间用来存储邮件的),到这里,用户A就相当于发送成功了,因为已经到达了目的地,如果B用户需要查看邮件内容,必须通过POP3服务器将从自己的存储设备中拿到,然后返回到浏览器或者客户端中显示。

        用户B给用户A发送一封邮件,那么整个过程就为图中的虚线部分,是和A给B发一样的步骤

        用户A给一个同样使用新浪邮箱的用户C发送一封邮件,那么其过程就简单的多了,先通过Smtp服务器,然后smtp服务器会将其发送到用户C的存储设备上,A发送邮件就成功了,用户C要显示自己邮箱中的邮件,那么就通过POP3服务器从自己存储设备中拿取所有邮件进行查看



SMTP, POP3, IMAP 都是mail server上的service


简单地说,SMTP管‘发’, POP3/IMAP管‘收’。

举个例子,你坐在电脑边用mail client写完邮件,点击‘发送’。这时你的mail client会发消息给邮件服务器上的SMTP service。这时有两种情况:
  1. 如果邮件的收信人也是处于同一个domain,比如从163.com发送给163的邮箱,SMTP service只需要转给local的POP3 Service即可
  2. 如果邮件收信人是另外的domain,比如163.com发送给sina.com, SMTP service需要通过询问DNS, 找到属于sina的SMTP service的host

SMTP service收到邮件后转给负责接收邮件的POP3 service

POP3 service和IMAP的区别主要是:
  • POP3是比较老的protocol,主要为了解决本地机器和远程邮件服务器链接的问题,每次邮件会download到本地机器,然后从远程邮件服务器上删掉(当然特殊config除外),然后进行本地编辑。这样的问题是如果从多个终端链接服务器,只有第一个下载的能看到,现在pop4正在讨论中
  • IMAP是比较新的(好吧,好像也是80年代的产物)protocol,可以将邮件分文件夹整理,然后这些信息也存在远程的邮件服务器上,读取邮件后,服务器上不删除。原理上IMAP应该是相当于oneline编辑,但现在的mail client基本都有在本地存copy的功能

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值