一个热爱技术的菜鸟...用点滴的积累铸就明日的达人
CSDN博客链接: http://blog.csdn.net/my_confesser 
 
正文
 
  今天入职配置OutLook的时候,看到公司的教程建议使用POP3这种邮件传输协议,之后在熟悉公司的一个后台系统项目的时候,发现后台系统中的登录模块中使用了邮件的方式去验证用户的合法性。代码中使用SMTP协议去传输邮件,这两件事情让我感觉到有必要研究一下邮件传输协议。
  要说到邮件传输协议就不得不提POP3,也就是早上配置OutLook的时候,公司推荐使用的传输协议。经过网上查阅,得知这个POP3也就是邮局协议的第三个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议,它是因特网电子邮件的第一个离线协议标准。从名字上就可以知道这个协议的原理了,POP3就和我们用邮局送信是一样的,举个例子,假设我的一个朋友要给我发一封信件,那么他首先会将这个信件发送到邮局(邮件服务器),然后邮局将这封信件,手抄了一份给我了,之后将原本烧掉了,此时邮局已经没有这封信件了。公司推荐这种方式是因为POP3并不会因为邮件传输的数目增加导致邮件服务器磁盘占满(因为POP3这种方式在服务器上并不会保存邮件的原本)
  提到了POP3就不得不提IMAP(交互式邮件存储协议),IMAP与POP3的区别就是POP3协议允许电子邮件客户端下载服务器上的邮件,但是在客户端的操作(如移动邮件,标记已读等),不能反馈到服务器上(因为服务器压根没有这个邮件),比如通过客户端收取了邮箱中的三封邮件并移动到其他文件夹,邮箱服务器上的这些邮件是没有同时被移动的,而IMAP提供webmail与电子邮件客户端之间双向通信,客户端的操作都会反馈到服务器算上,对邮件进行的操作,服务器上的邮件也会做相应的动作。同时,IMAP像POP3那样提供了方便的邮件下载服务,让用户能进行离线阅读。IMAP提供摘要浏览功能可以让你在阅读完所有的邮件到达时间、主题、发件人、大小等信息后才作出是否下载的决定。此外,IMAP更好的支持了从多个不同设备中随机访问新邮件。
  总之IMAP整体上为用户带来更为便捷和可靠的体验。POP3更易丢失邮件或多次下载相同的邮件,但凡事都有利弊,采取POP3的方式,我们可以不用过于担心邮件服务器因为邮件的爆满而导致故障。
不知道聪明的同学没有发现POP3和IMAP这两种传输协议,都是规定邮件服务器和接收方如何通信的一种协议,并没有涉及到发送方该如何将协议发送给邮件服务器的部分,那么发送方和邮件服务器之间究竟采取了什么协议呢?答案就是SMTP(简单邮件传输协议),它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。SMTP还有一个认证,简单地说就是要求必须在提供账户名和密码之后才可以登录到SMTP服务器,这就使得那些垃圾邮件的散播者无可乘之机。增加SMTP认证就是为了使得用户免于垃圾邮件的侵扰。
 
最后举个例子:当我们坐在电脑边用mail cline写完邮件,点击发送,这时mail cline会发送消息给邮件服务器上的SMTP service,这时候会有两种情况
  1、如果邮件的收信人和我处在一个domain,比如从163邮箱发送给另一个163邮箱,那么直接转给local的POP3 service即可
  2、如果收件人的和我并不处在一个domain,如果从163邮箱发送到sina邮箱,那么SMTP service会首先讯飞DNS,找到属于sina的SMTP service的host,sina 的 SMTP service接收到邮件之后会转给负责接收邮件的POP3 service。
 
由于本人知识浅薄,如果错误,请各位告知...
 
参考:
 

POP3、IMAP、SMTP邮件协议的理解的更多相关文章

  1. 常用电子邮件协议服务POP3/IMAP/SMTP/Exchange

    标题: 常用电子邮件协议服务POP3/IMAP/SMTP/Exchange 作者: 梦幻之心星 347369787@QQ.com 标签: [电子邮件, 服务, 协议] 目录: [客户端] 日期: 20 ...

  2. 邮件协议POP3/IMAP/SMTP服务的区别

    2016年09月09日 09時51分 wanglinqiang整理 通过网上查找的资料和自己的总结完成了下面的文章,看完之后相信大家对这三种协议会有更深入的理解.如有错误的地方望指正. POP3 PO ...

  3. jmeter实现SMTP邮件协议压测

    实现目的 通过jmeter的SMTP取样器,调用SMTP协议,批量进行邮件的发送,已达到压测的目的. 脚本实现 User Defined Variables定义用户变量 编辑SMTP Sampler取 ...

  4. 发送邮件程序报错454 Authentication failed以及POP3和SMTP简介

    一.发现问题 在测试邮件发送程序的时候,发送给自己的QQ邮箱,程序报错454 Authentication failed, please open smtp flag first. 二.解决问题 进入 ...

  5. laravel5.4 发送SMTP邮件

    https://blog.csdn.net/qq_35843527/article/details/77880631 Lumen / Laravel 5.4 使用网易邮箱 SMTP 发送邮件 获取网易 ...

  6. SMTP、POP3和IMAP邮件协议

    目录 SMTP POP IMAP 总结 DNS记录中的MX记录 今天入职第一天,公司让配置个人的内网.外网邮箱,这可把我给搞晕了,本来以前就对邮箱这块不是很了解,平时也不怎么用邮箱,顶多有个QQ邮箱而 ...

  7. [Email] 收发邮件的协议 : IMAP and SMTP , POP3 and SMTP

    支持 IMAP 和 SMTP 的应用 与仅同步收件箱的 POP 不同,IMAP 同步所有电子邮件文件夹. 在电子邮件应用中使用以下设置. 接收 (IMAP) 服务器 服务器地址:imap-mail.o ...

  8. centos 邮件服务 腾讯企业邮箱(免费) 使用iRedmail 需要有公网的centos主机 发邮件协议:smtp 端口25 收邮件协议:pop3 端口110 iredmail安装配置 使用邮箱系统 第三十一节课

    centos   邮件服务  腾讯企业邮箱(免费) 使用iRedmail 需要有公网的centos主机 发邮件协议:smtp 端口25  收邮件协议:pop3 端口110  iredmail安装配置 ...

  9. 【转】POP3、SMTP和IMAP之间的区别和联系

    POP3 POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议.它是因特网电子邮件的第 ...

随机推荐

  1. 在Ubuntu下编译WebKit源码--qt

    转载自:http://www.cnblogs.com/panderen/archive/2011/10/18/2216154.html 在朋友的介绍下有幸認识了WebKit这个让人心动的开源浏览器内核 ...

  2. 关于IE6的一些总结

    开篇之前,循例简单说说IE6的一些背景吧. IE6是指微软浏览器系列中的第六个版本,它是在2001年的时候伴随着XP系统的问世而同时推出的一款浏览器.因为XP普及的原因,这款浏览器一度问鼎全球浏览器市 ...

  3. redis连接池自动释放

    http://blog.itpub.net/29485627/viewspace-1977880/

  4. python 读 excel 模块: xlrd

    主要来自:[ python中使用xlrd.xlwt操作excel表格详解 ] 为了方便阅读, 我将原文两个模块拆分为两篇博文: [ python 读 excel 模块: xlrd ] [ python ...

  5. HDU2389(二分图匹配Hopcroft-Carp算法)

    Rain on your Parade Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 655350/165535 K (Java/Ot ...

  6. SQLAlchemy ORM教程之二:Query

    from:https://www.jianshu.com/p/8d085e2f2657 这是继SQLAlchemy ORM教程之一:Create后的第二篇教程.在上一篇中我们主要是解决了如何配置ORM ...

  7. Java坦克大战 (二) 之画一个能动的圆圈代表坦克

    本文来自:小易博客专栏.转载请注明出处:http://blog.csdn.net/oldinaction 在此小易将坦克大战这个项目分为几个版本,以此对J2SE的知识进行回顾和总结,希望这样也能给刚学 ...

  8. 分析函数调用堆栈的原理和Delphi实现

    来自:http://blog.163.com/liuguang_123/blog/static/816701920105262543890/ ----------------------------- ...

  9. lucene 排序

    (1)排序对一个文档里什么域都没存储,使用字符串排序会排在首位 (2)排序对一个文档里什么域都没存储,使用数字类型排序会默认给其赋值为0进行排序 (3)我们可以对数字类型的null值的文档进行代码控制 ...

  10. selenium 3.0与2.0 打开火狐浏览器的区别

    3.0的selenium需要引入gecko.driver驱动 ,因为没有在系统环境path中配置相关路径,因此需要特别指出,为了方便使用,建议直接和火狐安装包中的.exe文件放在同一目录下. 2.0的 ...