当前位置:文档之家› 邮件传输协议52P

邮件传输协议52P


3.SMTP的使用 SMTP通信过程中的连接建立、邮件传送、连接释放三 个阶段。 (1) 连接建立 SMTP连接是在发送主机即客户服务器的SMTP客户和 接收主机的SMTP服务器之间建立的。 SMTP客户每隔一定时间对邮件缓存扫描一次。如发 现有邮件,就使用SMTP的熟知端口号25与目的主机 的SMTP服务器建立TCP连接。不管发送端和接收端 的邮件服务器相隔有多远,不管在邮件的传送过程中 要经过多少个路由器,TCP连接总是在发送端和接收 端这两个邮件服务器之间直接建立,而不会使用中间 的邮件服务器。
2) 一对多映射:将多个收信人与一个标识符相 关联。可建立一个邮件分发器,即接收到一 个邮件就将其发送给一大批的收信人。与这 样一批收信人集合相关联的是一个标识符, 称为邮件发送清单(mailing list)。邮件列表通 常放在数据库中,每一项是一组电子邮件地 址。 在邮件发送清单中的收信人不一定都必须在 本地,一个邮件发送清单中的收信人即使都 在其他网点也是可以的。邮件分发器使得一 大批人能够通过电子邮件进行通信而发信人 不需要在发信时清楚地指明所有的收信人。
下表是一个电子邮件信息的实例
From: John_O_Public@foobar.com To: 912743.253843@nonexist.com Date: Fri, 1 Jan 99 10:21:32 EST Subject: lunch with me?
Bob, Can we get together for lunch when you visit next week? I’m free on Tuesday or Wednesday ——just let me know which day you would prefer.
客户端 用户代理 SMTP 邮件服务器 SMTP 服务器端 邮件服务器 POP3/IMAP 协议 用户代理
图 14-1 电子邮件的工作过程
当用户发送一封电子邮件时,首先寻找自己的客户邮 件服务器。 客户邮件服务器得到了邮件后,将它保存在自身的缓 冲队列中,然后,根据邮件的地址,查询到服务器端 邮件服务器,并且通过电子邮件协议传送。根据目标 地址确定信件需要投递的服务器时,通过DNS服务实 现。例如,有一封邮件的目标地址是 yourmail@yourserver.com,那么,邮件服务器首先 要解析“yourserver.com” ,然后,通过TCP连接将 信件投递给该服务器。 服务器端邮件服务器接收到邮件之后,将其存储在本 地缓冲区,直到电子邮件的接收者察看自己的电子信 箱。每个用户必须拥有服务器上存储信息的空间(称 为信箱)才能接受邮件。
第13章 邮件传输协议
13.1 概述 13.2 电子邮件地址 13.3 邮件转发与网关 13.4 电子邮件信息格式 13.5 简单邮件传输协议(SMTP) 13.6 邮件获取协议 13.7 通用因特网邮件扩充(MIME)
13.1 概述
通常,一封电子邮件的发送需要经过用 户代理、客户邮件服务器和服务器端邮 件服务器等三个程序的参与,并使用邮 件传输和获取协议(如SMTP和POP3,或 IMAP)。 图14-1 表示电子邮件的工作过程。
因特网上有许多邮件发送清单是开放的,任何人可 自由地将其电子邮件地址通过电子邮件加入到某个 邮件发送清单中,以便今后在自己的邮箱中自动收 到所需信息的邮件。 当电子邮件信息到达时,邮件分发器检查目标地址。 如果目标地址列表在数据库中出现,分发器就将信 息转发给表中的每个地址。 表13.3显示了一个邮件分发器数据库的实例。(P209)
1. 用户代理 用户代理UA(User Agent)是用户与电子邮件 系统的接口,一般它是一个在用户PC机中 运行的程序。 用户代理接受用户输入的各种指令,将用户 的邮件传送至其邮件服务器或者通过POP、 IMAP将信件从其邮件服务器获取到本机上。 (foxmail,outlook express) 用户代理至少应当具有以下三个功能: 1) 撰写 2) 显示 3) 处理
返回
含义 回复地址 使用的字符集 工具软件 发送方地址的副本 发送方面部图象
13.5 简单邮件传输协议(SMTP)
1.概述 简单邮件传输协议(SMTP)的目标是可靠 高效地传送邮件。 SMTP命令定义了邮件传输或由用户定义的 系统功能,规定了14条命令和21种响应信 息。 每条命令用4个字母组成 每一种响应信息一般只有一行信息: 3位数字代码[+简单的文字说明]
发 送 电子邮件网关 数据库 分 邮件传递 发 传 递 接收方 邮箱 方 界面
邮件服务器
Internet
图14-2 用户向网关机器上的邮件列表发送ห้องสมุดไป่ตู้息时程序的工作过程
开始时,用户利用发送方计算机,将单个副本 从发送方的计算机传到电子邮件网关。 电子邮件网关在查询邮件列表的数据库后,邮 件分发器生成一个发送信息副本的请求。 网关计算机上的邮件传输程序将生成的每个副 本通过因特网发送给接收方的计算机。 最后,接收方计算机利用服务器将副本存进接 收方的邮箱。
表 14-5 SMTP 的应答码及其含义
2. SMTP模型 当用户发出邮件请求时,SMTP发送者建立 与SMTP接收者之间的一个双向传送通信通 道。SMTP命令由SMTP发送者发出,由 SMTP接收者接收,而应答则反方面传送。
用户 文件系统 发送 SMTP SMTP 协议 接收 SMTP 接收 SMTP 发送 SMTP 图 14-3 SMTP 模型 文件系统
返回
13.3 邮件转发与邮件网关
1.邮件转发 许多邮件系统包含一个邮件分发器或邮件转发 器,这是一个能转发信息副本的程序软件。 邮件转发软件在本地网点中将邮件中使用的邮 件地址映射为一个或多个新的邮件地址即别名。 使用别名增加了邮件系统的功能并为用户带来 了方便,别名映射可以是多对一或一对多。 1) 多对一映射:映射一组标识符到单个人,允 许单个用户拥有多个邮件标识符,包括昵称和 职务。
2.邮件服务器
邮件服务器是电子邮件系统的核心构件,因 特网上所有的ISP都有邮件服务器。
邮件服务器的功能是发送和接收邮件,同时 还要向发信人报告邮件传送的情况(已交付、 被拒绝、丢失等)。 邮件服务器默认监听25号端口接受请求。 3. 协议 SMTP;POP3;IMAP
返回
13.2 电子邮件地址
返回
13.4 电子邮件信息格式
电子邮件:信封+内容 内容:首部+信体(body)
– 首部:发送方、接收方、发送日期和内容格式等。 – 信体:可以包含任意文本。
[RFC 822]规定了邮件内容中的首部格式,邮件 的信体部分由用户自由撰写。用户写好首部后, 邮件系统将自动地将信封所需的信息提取出来 并写在信封上,用户不需要填写电子邮件信封 上的信息。 首部由多行构成,首部行:关键字+冒号+信息
连接建立后,SMTP服务器发出“220 Service ready”。然后,SMTP客户向SMTP 服务器发送HELO命令,附上发送方的主机 名。
SMTP服务器若有能力接收邮件,则回答: “250 OK”,表示已准备好接收。若SMTP服 务器不可用,则回答“421 Service not available”。
注意:标识收信人邮箱名的字符串在邮箱所在 计算机中必须是惟一的。 由于一个主机的域名在因特网上是惟一的,而 每一个邮箱名在该主机中也是惟一的,因此在 因特网上的每一个人的电子邮件地址都是惟一 的。这一点对保证电子邮件能够在整个因特网 范围内的准确交付是十分重要的。 在发送电子邮件时,邮件服务器只使用电子邮 件地址中的后一部分,即目的主机的域名。只 有在邮件到达目的主机后,目的主机的邮件服 务器才根据电子邮件地址中的前一部分(即收 信人邮箱名),将邮件存放在收件人的邮箱中。
下表给出了SMTP的最小命令集及其功能。
命令 HELO MAIL RECP DATA REST NOOP QUIT 含义 发送 SMTP 向接受 SMTP 所做的提示 启动邮递(mail)处理 识别邮件接收者 DATA 后面内容表示邮件数据, 以<CRLF>结尾 退出(或复位)当前的邮递处理,返回 OK 应答表示过程有效 用于用户测试,仅返回 OK 接收端返回 OK 应答并关闭传输连接
John
首部中的关键字是From、To、Date、Subject。 From:表示发信人的电子邮件地址。一般由邮 件系统自动填入。 To:后面填入一个或多个收信人的电子邮件 地址。在电子邮件软件中,用户将经常通信的 对象姓名和电子邮件地址写到地址簿中。当撰 写邮件时,只需打开地址簿,点击收信人名字, 收信人的电子邮件地址就会自动地填入到合适 的位置上。 Date:发信日期。一般由邮件系统自动填入。 Subject:是邮件的主题。它反映了邮件的主 要内容。主题便于用户查找邮件。
SMTP的应答码及其含义。
应答码 211 214 220 221 250 251 354 421 450 451 含义 系统状态或帮助应答 帮助报文 <域>服务准备好 <域>服务关闭传输连接 请求邮递活动已完成 用户不在本地;寻<前向路径> 邮件输入,以<CRLF>结束 <域>服务失败,关闭传输连接 请求邮递活动失败;邮箱失败 请求失败;本地错误 应答码 500 501 502 503 504 550 551 552 553 554 含义 语法错误,不能识别命令 参量有语法错误 命令失败 命令中有坏串 命令参量没有实现 请求活动失败;邮箱不能得到 用户不在本地,请试<前向路径> 请求邮递活动失败 请求活动失败;邮箱名没激活 处理失败
解决:1993年又制定了新的电子邮件标 准[RFC 1521,1522],即“通用因特网 邮件扩充” MIME (Multipurpose Internet Mail Extensions)。MIME在其 邮件首部中说明了邮件的数据类型(如文 本、声音、图像、视频等)。MIME邮件 可同时传送多种类型的数据。
表14-3列出了一些在因特网电子邮件中可以找 到的普通关键字,以及使用它们的目的。
关键字 From To Cc Date Subject 含义 发送方地址 接收方地址 复制副本地 发送日期 主题 关键字 Reply-To X-Charset X-Mailer X-Sender X-Face 表 14-3 常见关键字及其含义
电子邮件地址是一个字符串,用@分为两部分。第 一部分是邮箱标识,第二部分给出了邮箱所在的计 算机名字。电子邮件地址中的计算机名字是一个域 名。 电子邮件地址E-mail地址通常为: 收信人邮箱名@邮箱所在主机的域名 例如: me@mail.njust.edu.cn 表明这台计算机在中国(cn),隶属于教育机构(edu) 下的南京理工大学(njust),机器名是mail。在@符号 的左边是用户的邮箱名:me。
列表 friends 内容 Joe@foobar.com,Jlll@bar.gov,Tim@St ateU.edu, Mary@acollege.edu,Hank@nonexist.co customers m george@xyz.com,VP_Marketing@news.c
2.邮件网关 若邮件发送清单很大,那么向每一个收信人转发邮 件仍需很长的处理时间。因此人们往往采用电子邮 件网关 (e-mail gateway) 或电子邮件中继(emailrelay)专门处理邮件发送清单。电子邮件网关 在没有人工干预的情况下利用计算机程序自动处理 邮件。这种程序叫做清单管理程序 。
第13章 邮件传输协议
简单邮件传送协议SMTP(Simple Mail Transfer Protocol)[RFC 821]和电子邮 件报文格式MAIL[RFC 822]最早出现在 1982年,是ARPANET上的电子邮件标 准,现在它们都已成为因特网的正式标 准。
问题:SMTP只能传送可打印的ASCII码 邮件。
相关主题