了解邮件服务与相关协议(1)

Wireshark协议分析之SMTP 一:前言 如果说Web浏览是用户参与次数最多的网络活动,那么收发邮件有可能是第二位。简单邮件传输协议(SMTP)是发送邮件的标准,它被MicrosoftExchange和Postfix等平台使用 与HTTP一样,SMTP由于实现方式、与客户端/服务器兼容性相关的一些列特性的不同,在数据包结构上存在多样性。本文只是通过在数据包层面,对邮件发送过程进行分析,来探究SMTP的一些基本功能 二:... 阅读详情
电子邮件是因特网上最为流行的应用之一。如同邮递员分发投递传统邮件一样,电子邮件也是异步的,也就是说人们是在方便的时候发送和阅读邮件的,无须预先与别人协同。与传统邮件不同的是,电子邮件既迅速,又易于分发,而且成本低廉。另外,现代的电子邮件消息可以包含超链接、HTML格式文本、图像、声音甚至视频数据。我们将在本文中查看处于因特网电子邮件核心地位的应用层协议。但在深入讨论这些协议之前,让我们先概览一下因特网邮件系统及其重要部件。

  下图展示了因特网邮件系统的高层概貌。我们看到,该系统由三类主要部件构成:用户代理、邮件服务器利简单邮件传送协议(simple Mail Transfer Protocol,简称SMTP)。我们将在这样的上下文中说明每类部件:发信人A1ice给收传人Bob发送一个电于邮件消息。用户代理允许用户阅读、回复、转寄、保存和编写邮件消息(电子邮件的用户代理有时称为邮件阅读器,不过我们在本文中避免使用这个说法)。Alice写完电子邮件消息后,她的用户代理把这个消息发送给邮件服务器,再由该邮件服务器把这个消息排入外出消息队列中。当Bob想阅读电子邮件消息时,他的用户代理将从他在其邮件服务器上的邮箱中取得邮件。20世纪90年代后期,图形用户界面(GUI)的电子邮件用户代理变得流行起来,它们允许用户阅读和编写多媒体消息。当前流行的用户代理包括Ootlook,foxmail等。公共域中还有许多基于文本的电于邮件用户代理,包括mail、pine和elm。


图1 因特网电子邮件系统概貌

  邮件服务器构成了电子邮件系统的核心。每个收信人都有一个位于某个邮件服务器上的邮箱(mailbox)。Bob的邮箱用于管理和维护已经发送给他的邮件消息。一个邮件消息的典型旅程是从发信人的用户代理开始,游经发信人的邮件服务器,中转到收信人的邮件服务器,然后投递到收信人的邮箱中。当Bob想查看自己的邮箱中的邮件消息时,存放该邮箱的邮件服务器将以他提供的用户名和口令认证他。Alice的邮件服务器还得处理Bob的邮件服务器出故障酌情况。如果Alice的邮件服务器无法把邮件消息立即递送到Bob的邮件服务器,A1ice的服务器就把它们存放在消息队列(message queue)中,以后再尝试递送。这种尝试通常每30分钟左右执行一次:要是过了若干天仍未尝试成功,该服务器就把这个消息从消息队列中去除掉,同时以另一个邮件消息通知发信人(即Alice)。

  简单邮件传送协议(SMTP)是因特网电子邮件系统首要的应用层协议。它使用由TCP提供的可靠的数据传输服务把邮件消息从发信人的邮件服务器传送到收信人的邮件服务器。跟大多数应用层协议一样,SMTP也存在两个端:在发信人的邮件服务器上执行的客户端和在收信人的邮件服务器上执行的服务器端。SMlP的客户端和服务器端同时运行在每个邮件服务器上。当一个邮件服务器在向其他邮件服务器发送邮件消息时,它是作为SMTP客户在运行。当一个邮件服务器从其他邮件服务器接收邮件消息时,它是作为SMTP服务器在运行。

SMTP

  SMTP在RFC 821中定义,它的作用是把邮件消息从发信人的邮件服务器传送到收信人的邮件服务器。SMIP的历史比HTTP早得多,其RFC是在1982年编写的,而SMTP的现实使用又在此前多年就有了。尽管SMTP有许多奇妙的品质(它在因特网上的无所不在就是见证),但却是一种拥有某些“古老”特征的传统战术。例如,它限制所有邮件消息的信体(而不仅仅是信头)必须是简单的7位ASCII字符格式。这个限制在20世纪80年代早期是有意义的,当时因特网传输能力不足,没有人在电子邮件巾附带大数据量酌图像、音频或视频文件。然而到了多媒体时代的今天,这个限制就多少显得局促了——它迫使二进制多媒体数据在文由SMTP传送之前首先编码成7位ASCII文本;SMTP传送完毕之后,再把相应的7位ASCII文本邮件消息解码成二进制数据。HTTP不需要对多媒体数据进行这样的编码解码操作。

  下面我们通过查看一个常见的情形来说明SMTP的基本操作。假设Alice给Bob发送一个简单的ASCII文本邮件消息:

  ●Alice调用自己的电子邮件用户代理,给出Bob的电子邮件地址(譬如说bob@someschool.edu),写好邮件内容,然后让用户代理发送本邮件消息。

  ●Alice的用户代理把该邮件消息发送到她的邮件服务器中,由邮件服务器把该消息排人某个消息队列中。

  ●运行在A1ice的邮什服务器上的SMTP客户端看到消息队列中的这个邮件消息后,打开一个到运行在Bob的邮件服务器主机上的SMTP服务器端的TCP连接。

  ●经过最初的一些SMTP握手之后,SMTP客户把A1ice的邮件消息发送到TCP连接上。

  ●在Bob的邮件服务器主机上,SMTP服务器收到这个邮件消息后,把这个消息投递到Bob的邮箱中。

  ●Bob在方便的时候调用自己的电子邮件用户代理阅读该邮件消息。

  图2展示了上述情形。


图2 alice的邮件服务器把邮件消息传送到Bob的邮件服务器

  需注意的是,SMTP通常不使用中间的邮件服务器主机中转邮件,即便源端和目的端邮件服务器主机位于地球上相反的位置也一样。假设Aiice的邮件服务器主机在香港,Bob的邮件服务器主机在阿拉巴马州,那么所建立的TCP连接将是这两台服务器主机之间的连接。具体地说,如果Bob的邮件服务器不工作了,那么A1ice发给Bob的邮件消息将存留在Alice的邮件服务器中等待新的尝试,而不会存放到某个中间的邮件服务器中。

  下面查看SWPT把邮件消息从发送端邮件服务器传送到接收端邮件服务器的具体过程。我们将看到,SMTP协议与人们用于面对面交互的礼仪之间有许多相似之处。首先,运行在发送端邮件服务器主机上的SMTP客户,发起建立一个到运行在接收端邮件服务器主机上的SMTP服务器端口号25之间的TCP连接。如果接收邮件服务器当前不在工作,SMTP客户就等待一段时间后再尝试建立该连接。这个连接建立之后,SMTP客户和服务器先执行一些应用层握手操作。就像人们在转手东西之前往往先自我介绍那样,SMTP客户和服务器也在传送信息之前先自我介绍一下。在这个SMTP握手阶段,SMTP客户向服务器分别指出发信人和收信人的电子邮件地址。彼此自我介绍完毕之后,客户发出邮件消息。SMTP可以指望由TCP提供的可靠数据传输服务把该消息无错地传送到服务器。如果客户还有其他邮件消息需发送到同一个服务器,它就在同一个TCP连接上重复上述过程;否则,它就指示TCP关闭该连接。

  让我们看一个客户(C)和服务器(S)交互的例子。客户所在主机名为crepes.fr,服务器所在主机名为hamburger.edu。前面标以“C:”的ASCII文本行是客户发送到它的TCP套接字中的完整文本行,前面标以“S:”的ASCII文本行是服务器发送到它的TCP套接字中的完整文本行。以下传输脚本在TCP连接建立之后马上发生:


  S:220 hamburger.edu
  C:HELO crepes.fr
  S:250 Hello crepes.fr,pleased to meet you
  C:MAIL FROM:
  S:250 alice@crepes.fr ... Serder OK
  C:RCPT TO:
  S:250 bob@hamburger.edu...Recipient OK
  C:DATA
  S:354 Enter mail,end with "." on a line by its self
  C:Do you like ketchup?
  C:How about pickles?
  C:.
  S;250 Message accepted for delivery
  C:QUIT
  S:221 hamburger.edu cloing connection

  在这个例子中,客户发送了一个从邮件服务器主机crepes.fr到hamburger.edu的邮件消息,信体内容为:“Do you like ketchup?How about pickles?”。客户总共发出了5个命令,分别为:HELO,MAIL FROM,RCPT TO,DATA和QUIT。这些命令的含义是不言自明的。服务器给每个命令发回应答,其中每个应答都由应答码和一些英语解释(可选)构成。这里需指出的是,SMTP使用持久连接,也就是说,如果发送邮件服务器有多个邮件消息需发送到同一个接收邮件服务器,那么所有这些消息可以在同一个TCP连接中发送。对于其中的每一个消息,客户以一个新的“HELO crepes.fr”命令开始整个消息发送过程,但是QUIT命令要等到所有消息都发送完之后才发出。

  我们可以尝试使用nc工具直接与SMTP服务器进行对话。首先指定使用SMTP端口号25连接到某台邮件服务器主机,这样就在本地主机和该邮件服务器主机之间建立了一个SMTP使用的TCP连接。登录完毕之后,应该立即收到来服务器的应答,接着就可以在合适的时刻依次发出现SMTP命令了。如果你连接到你朋友的5MTP服务器,就可以用这种方式向你的朋友发送邮件了(也就是说,不必使用邮件用户代理)。当然你也可以使用更常见的telnet工具,不过我发现用telnet建立起连接后常会遇到一些输入方面的问题。

 
邮件服务器全面实现SMTP、POP3、IMAP及WebMail技术 本文还有配套的精品资源,点击获取 简介:邮件服务器是处理电子邮件的关键互联网组件,负责传输和存储邮件信息。文章介绍了SMTP、POP3、IMAP和WebMail四种邮件服务协议的功能和实现方式。SMTP处理邮件发送,POP3和IMAP分别用于邮件下载和管理,WebMail则允许用户通过浏览器访问邮件。本文还提到了邮件服务器开发相关的文件和组件,为开发者提供了深入理解邮件服务... 阅读详情

相关推荐

TCP聊天程序服务器端

TCP聊天程序服务器端,VC++6.0 源码,和大家一起交流。

电子邮件协议(SMTP协议,POP3协议)

对SMTP协议以及POP3协议的总结,参考了一些资料,包括很多人的博客

wildland的博客 4415

QQ 实战 服务器端

http://knight-black-bob.iteye.com/blog/2370462 QQ实战 服务器端

计算机网络概念——应用层email协议

计算机网络应用层email的概念,SMTP POP3 IMAP HTTP协议。

<Hunter> 2125

QQ服务器端

这是一个c++写的类似QQ通信的简单的服务器端,还有客户端,一会另外上传。

INS/伪距组合导航(2)

伪距惯导组合导航

u014430081的博客 827

了解邮件是如何传输的、邮件相关的协议有哪些以及Postfix邮件服务的搭建

1.邮件服务器采用的是C/S工作模式,通过SMTP,POP,IMAP协议来是实现邮件的发送和接收的。 2.每个邮件系统主要由3部分组成 (3个代理角色): MUA (mail user Agent) 负责写信收信(邮件用户代理); MDA (mail Delivery Agent) 投递者负责将信件放在指定的目的地 (识别源地址和目标地址); MTA(mail transferAge...

ZhangPengFeiToWinner的博客 2188

ANSYS Workbench对称分析进阶:手把手教你用Pre-Meshed Cyclic Region处理外部导入的复杂网格模型

本文详细介绍了ANSYS Workbench中Pre-Meshed Cyclic Region功能在处理外部导入复杂网格模型时的应用。通过循环对称分析技术,可显著减少计算资源消耗,特别适用于叶轮机械、齿轮组等周期性结构分析。文章深入解析了该功能的底层逻辑,并提供了从NASTRAN文件导入的离心压缩机叶轮案例,帮助工程师克服网格匹配难题。

weixin_28630185的博客 312

了解邮件服务与相关协议(4)

POP3   RFC 1939个定义的POP3是一个极为简单的邮件访问协议。正因为它过于简单,其功能也相当有限。POP3开始于用户代理(客户)打开一个到POP3服务器(服务器)端口号110的TCP连接。POP3服务器与邮件服务器运行在相同的服务器主机上,前者从用户的邮箱中读取并可能删除邮件消息,后者往用户的邮箱中写入邮件消息。TCP连接建立好之后,POP3依次经历授权队证、处理和更新3个阶

我的生活,我的BLOG 1276

基于SHIS凝视型短波红外高光谱相机(900-1700nm)区分不同宝石的差异性和可分性(宝石分选)

SHIS系列凝视型高光谱相机基于液晶可调谐滤波器(LCTF),通过电控LCTF进行连续细分窄波段分光,对每个波段进行高分辨率的二维面阵成像,进行图像处理后,获得完整的高光谱高清图像序列。具有低功耗、小型化、使用方便和易于扩展的优势。其工作波段覆盖400nm至1000nm,能够捕捉宝石在不同波长下的光谱特征,为宝石鉴定提供了新的工具。

wayho的博客 706

北理计算机考研复试经验贴

很早就想写一篇复试经验贴,因为关于复试,消息相对初试少很多,尤其北理,关于具体怎么考,网上信息更是匮乏,之前自己也是死缠烂打,一路追着各位学姐学长问经验,求助老师才一路走过来,至今还没有看过系统完整的北理计算机的复试经验贴,后又经过老师提醒,借此机会开始好好总结一下,希望帮到你们。 首先希望学弟学妹不管初试成绩是高是低对复试都要足够的重视,因为复试1分相当于初试的5分,而且去年今年都有初试前几名...

wusiji8121的博客 2万+

邮件服务器两种协议,邮件服务器协议

邮件服务器协议 内容精选换一换浏览器发送邮件:在使用浏览器登录邮箱时直接使用HTTP协议,其端口号默认为80,邮件服务器之间还是使用邮件发送协议:SMTP协议。通过浏览器发送邮件,则需要开放TCP出方向端口为80。在弹性云服务器页面找到对应的安全组,单击安全组“ID”,进入“安全组”页面。在安全组界面,单击“添加规则”。在弹出的窗口,选择“出方向”,协议为“TCP”,默认采用STARTTLS协议认...

weixin_32296949的博客 3119

语音数据标注工具与平台

最近在做语音深度学习的项目,整理了一下语音数据标注工具和语音标注平台,供大家参考 语音标注工具–Praat Praat是目前已经成为比较流行也比较专业的语音处理的软件,可以进行语音数据标注、语音录制、语音合成、语音分析等等,具有免费、占用空间小、通用性强、可移植性好等特点 官网链接 http://www.fon.hum.uva.nl/praat/ 汉化版下载 http://www.hejingzo...

qq_21379593的博客 1万+

任务七 邮件服务配置与管理

MUA:邮件用户代理(Mail User Agent),Foxmail、ThunderbirdMTA:邮件传送代理(Mail Transfer Agent),Sendmail、PostfixMDA:邮件投递代理(Mail Deliver Agent),Procmail、maildropMRA:邮件接收代理(Mail Receive Agent),Dovecot。

daqi1983的博客 1937

化工过程设计软件:Aspen Plus二次开发_(2).二次开发概述

假设我们需要创建一个自定义的换热器模型,该模型能够计算两个物流之间的热交换量,并根据传热系数和换热面积进行调整。ACM 模型代码示例!自定义换热器模型!参数:传热系数 U (W/m^2·K)!换热面积 A (m^2)!热物流 T_hot_in (K), T_hot_out (K), F_hot (kmol/h)!冷物流 T_cold_in (K), T_cold_out (K), F_cold (kmol/h)!模型输入!U - 传热系数!A - 换热面积!

kkchenjj的博客 367

Vue3+Openlayers教程导航页【目录】

欢迎来到 Vue3+Openlayers 系列教程,这里是我在 优快云 编写的所有 Vue3+Openlayers 系列相关文章的索引页,适合初学者到进阶用户系统阅读。👀 更多教程正在持续更新中,欢迎关注我,一起探索 Openlayers 的强大魅力!

小彭的博客 1258

邮件服务器的协议有哪几个?有什么特点?

邮件服务器是一种Internet服务软件产品,支撑着Internet众多网络服务的是各种服务协议。在选择邮件服务器产品时,要重点考虑其支持服务协议方面的能力,因为它是衡量产品性能的重要指标。与邮件服务器产品有关的网络服务协议主要有以下6个,其中我们重点介绍和我们关系最密切的两个: 1.SMTP 协议   SMTP协议 (Simple Mail Transfer Protocol,简单邮件传输协

上帝派来的逗比 8182

【C#学习记录】如何让界面控件实现自适应布局(Winform)

小伙伴们大家好,我是雷工!在软件界面设计中,客户常常要求设计的界面可以随意缩放,缩放过程中,界面中的按钮等控件也会随着窗体变大缩小自动调整显示位置和尺寸大小。在C#的Winform窗体中如何实现这个效果,下面我们一起学习下。

做有价值的事,积累有价值的笔记! 1万+

postfix(邮件服务器)说明与postconfig命令详解

Postfix是Wietse Venema在IBM的GPL协议之下开发的MTA(邮件传输代理)软件。是为了改良sendmail邮件服务器而产生的。其特点:postfix是免费的:postfix想要作用的范围是广大的Internet用户,试图影响大多数的Internet上的电子邮件系统,因此它是免费的。更快:postfix在性能上大约比sendmail快三倍。一部运行postfix的台式PC每天可以收发上百万封邮件。

2401_84046876的博客 3608

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Linux 邮件服务

三个要点 1.smtp协议 2.搭建本地邮件服务器 3.使用外部邮件服务器 实现邮件功能 1.smtp协议           SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议簇,它帮

centos的博客 9221

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

了解邮件服务与相关协议(2)

与HTTP的比较  我们简单地比较一下SMTP和HTTP。这两个协议都是用于从一台主机向另一台主机传送文件;HTTP用于从web服务器向Web用户代理(即浏览器)传送文件(或对象),SMTP用于从一个邮件服务器向另一个邮件服务器传送文件(也就是电子邮件消息)。在传送文件时,SMTP和持久HTTP都使用持久连接。可见,这两个协议具有一些共同的特征,不过它们之间的差别也是显著的。首先,HTTP基本

我的生活,我的BLOG 1554

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

[ 钓鱼实战系列-基础篇-6 ] 一篇文章让你了解邮件服务器机制(SMTP/POP/IMAP)-1

[ 钓鱼实战系列-基础篇-6 ] 一篇文章教会你邮件服务器机制(SMTP/POP/IMAP) 网络钓鱼不仅是一种网络攻击技术同时也是一项最常见的社会工程技术,更是红队选手和网络犯罪分子的惯用伎俩。 本文我们探讨有邮件邮件服务器机制。

qq_51577576的博客 1021

邮件服务器EXTMAIL的Linux搭建

support@extmail.org #数据库用户postmaster@extmail.org #邮件服务器用户#数据库用extmail登录 并切换 响应数据库 use extmail 进行查看#改项目只可以在互联网上给别人发邮件![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/b8141c696a1b4d61aa6d2661acdbf22b.jpeg#pic_center)

gsdgdg00的博客 2144

计算机网络 实验八 应用层相关协议分析

(7)改用网易邮箱或其他邮箱服务器,以网易邮箱为例,需要先开启网易邮箱中的POP/SMTP服务,再进行授权,才可以配置outlook,outlook需要中的发送邮件与接受邮件服务器,为网易邮箱的相关服务器,可在网易邮箱中查看。Outlook Express是Windows系统自带的电子邮件客户端软件,功能强大,支持多用户,无论是电子邮件还是新闻组,Outlook Express都是有力的重要工具软件。(3)查看两次截获的报文的结果中TCP连接建立的过程,回答SMTP和POP3分别使用的TCP端口是多少。

weixin_69276268的博客 2823

邮件服务器

什么是邮件服务器? 电子邮件是一种利用网络传递信息给远程服务器的信息传递行为。我们可以将文件或信息传送到地球上任何一个有网络的地方,我们也可以在任何有网络的地方连上internet去收取邮件。但是其中也存在一些问题: 1、夹带病毒的电子邮件问题 2、黑客通过邮件程序入侵 3、广告信息与垃圾信息等 4、主机被大量不明邮件塞满 我们通常接收到的E-mail都是使用“账号@主机名”的方式来处理的,由于恶意的邮件和垃圾邮件的泛滥等种种原因,导致我们不被允许直接利用主机的ip地址来发送邮件,所以说,邮件服务器一定要有

weixin_54217950的博客 4614

邮件服务器的功能以及相关工作原理

邮件服务器的功能以及相关工作原理 1、概述 Email是Internet最基本、最重要的服务之一。与传统的邮政信件服务相比,电子邮件具有快速、经济的特点。与实时信息相比,电子邮件采用存储转发的方式,发送邮件时并不需要收件人处于在线状态。因此,电子邮件具有其他通信方式不可比拟的优势。 2、Mail server 与DNS之间的关系 当一封邮件要发送出去时,邮件主机会先分析那封邮件的目标主机的DNS,先取得MX(Mail Exchanger,邮件交换)标志(其中,MX标志可能会有多部主机),然后以最优先MX主机

宝耶需努力的技术分享博客 3854
上一篇: 在Ajax应用程序中实现数据交换
下一篇: 了解邮件服务与相关协议(2)
justmuch
博客等级 码龄21年 51粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值