一个热爱技术的菜鸟...用点滴的积累铸就明日的达人
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. jsp分页完善版

    明天要考网络工程师了,而且这两天校运会,把那个分页的完善了下,明天考试,祈祷吧,我根本都没看书啊,所以只能去长见识了.100大洋啊,下个学期我想考考证了,不然以后出去麻烦了.呵呵,不多说还是说说自己对 ...

  2. Javadoc注释的用法

    Javadoc注释的用法   相关阅读:http://blog.163.com/hui_san/blog/static/5710286720104191100389/ Java 文档// 注释一行/* ...

  3. 【Foreign】朗格拉日计数 [暴力]

    朗格拉日计算 Time Limit: 10 Sec  Memory Limit: 128 MB Description Input Output 仅一行一个整数表示答案. Sample Input 5 ...

  4. bzoj1036: [ZJOI2008]树的统计Count link-cut-tree版

    题目传送门 这 算是link-cut-tree裸题啊 不过以前好像没有写过单点修改.............. #include<cstdio> #include<cstring&g ...

  5. 【BZOJ】1592: [Usaco2008 Feb]Making the Grade 路面修整

    [算法]动态规划DP [题解] 题目要求不严格递增或不严格递减. 首先修改后的数字一定是原来出现过的数字,这样就可以离散化. f[i][j]表示前i个,第i个修改为第j个数字的最小代价,a表示排序后数 ...

  6. BZOJ1037 DP

    2013-11-15 21:51 原题传送门http://www.lydsy.com/JudgeOnline/problem.php?id=1037 拿到这道题想到了DP,后来发现三维无法确定的表示状 ...

  7. mongodb的集合操作

    MongoDB 创建集合 1.手动创建: 语法格式: db.createCollection(name, options) 参数说明: name: 要创建的集合名称 options: 可选参数, 指定 ...

  8. 【Mysql优化】索引碎片与维护

    在长期的数据更改过程中, 索引文件和数据文件,都将产生空洞,形成碎片.(不停的删除修改导致) 解决办法: (1)我们可以通过一个nop操作(不产生对数据实质影响的操作), 来修改表. 比如: 表的引擎 ...

  9. CF#328 (Div. 2) C(大数)

    C. The Big Race time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...

  10. git常用命令收集

    [git远程操作命令] 1.$ git remote –v #查看本地配置的所有远程仓库,内容为远程仓库的地址和本地别名 harvey@harvey:~/node$ git remote -v nod ...