一个热爱技术的菜鸟...用点滴的积累铸就明日的达人
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. maven工程开启jetty调试

    转摘自:http://czj4451.iteye.com/blog/1942437 准备工作: a. 在pom.xml中配置jetty插件: <plugins> <plugin> ...

  2. BZOJ 1598 牛跑步

    牛跑步 [问题描述] BESSIE准备用从牛棚跑到池塘的方法来锻炼. 但是因为她懒,她只准备沿着下坡的路跑到池塘, 然后走回牛棚. BESSIE也不想跑得太远,所以她想走最短的路经. 农场上一共有M ...

  3. Oop分析方法

    为了实现Oop,这个我已经在一个前端的js项目中实现了Oop,过后总结:对于js这种动态语言,可以在运行时动态组件对象的属性和方法这种,解释型的语言来讲,真的是OOP,如果不存在关系数据库,仅仅是从后 ...

  4. SELinux 案例 1

    deamon 进程的权限白名单 Generate Policy for Internet Services Daemon,生成一个模板: sepolicy generate --inetd [-n N ...

  5. python3 正则表达式re模块

    正则表达式的功能:字符串的模糊匹配查询import re元字符 . ---->匹配除换行符意外的任意字符 ^ ---->匹配行首位置 $ ---->匹配行尾位置 关于重复的元字符 * ...

  6. [Leetcode Week8]Triangle

    Triangle 题解 原创文章,拒绝转载 题目来源:https://leetcode.com/problems/triangle/description/ Description Given a t ...

  7. python学记笔记 2 异步IO

    在IO编程中,我们知道CPU的速度远远快于磁盘,网络IO,在一个线程中,CPU执行速度的代码非常快,然而遇到IO操作就需要阻塞 需要等待IO操作完成才能继续下一步的动作.这种情况叫做同步IO 在IO操 ...

  8. IC卡的传输协议(3)【转】

    转自:http://bbs.ednchina.com/BLOG_ARTICLE_172027.HTM 3.终端传输层         本节描述了在终端和 IC 卡之间传输的命令和响应 APDU 的机制 ...

  9. Mac自带的SSH客户端

    https://segmentfault.com/q/1010000002806469 还能设置连接成持久连接,方便使用: ttps://www.zhihu.com/question/20541129 ...

  10. DRF视图集的路由设置

    在使用DRF视图集时,往往需要配一大堆路由,例如: # views.py class DepartmentViewSet(ListModelMixin,CreateModelMixin,Retriev ...