邮件发送 SMTP协议
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编辑本段 SMTP 协议命令
SMTP 命令是发送于 SMTP 主机之间的 ASCⅡ信息,可能使用到的命令 如 下表所示。
SMTP 协议命令
命令
描述
DATA
开始信息 写作
EXPN<strin g>
验证给定 的邮箱列 表是否存 在,扩充邮 箱列表,也 常被禁用
HELO<domai n>
向服务器 标识用户 身份,返回 邮件服务 器身份
RSET
重置会话, 当前传输 被取消
SAML FROM< host>
发送邮件 到用户终 端和邮箱
SEND FROM< host>
发送邮件 到用户终 端
SOML FROM< host>
发送邮件 到用户终 端或邮箱
TURN
接收端和 发送端交 换角色
VRFY<user> 用于验证
指定的用 户/邮箱是 否存在;由 于安全方 面的原因, 服务器常 禁止此命 令
由于这个协议开始是基于纯 ASCⅡ文本的,在二进制文件上处理得并 不 好。后来开发了用来编码二进制文件的标准,如 MIME,以使其通过 SMTP 来传输。今天,大多数 SMTP 服务器都支持 8 位 MIME 扩展,它使二进制文 件的传输变得几乎和纯文本一样简单。
( 注意:SMTP 是一个"推"的协议,它不允许根据需要从远程服务器上 “拉”来消息。要做到这点,邮件客户端必须使用 POP3 或 IMAP 上。另一 个, SMTP 服务器可以使用 ETRN(Extended Turn,扩展回车)命令在 SMTP 上触 发一 个 发送 。 )
SMTP 协议
来源:互联网
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,是一种提供可靠且有效电子 邮件传输的协议。SMTP 是建立在 FTP 文件传输服务上的一种邮件服务,主要用于传输系统 之间的邮件信息并提供与来信有关的通知。
SMTP 协议简介
SMTP 目前已是事实上的在 Internet 传输 E-Mail 的标准,是一个相 对 简单 的 基 于 文 本 的 协 议。在其之 上 指 定 了 一 条 消 息 的 一 个 或 多 个 接 收者(在 大多数情况下被确定是存在的),然后消息文本就传输了。可以很简单地 通过 Telnet 程序来测试一个 SMTP 服务器,SMTP 使用 TCP 端口 25。要为 一 个给定的域名决定一个 SMTP 服务器,需要使用 MX(Mail eXchange)DNS。
SMTP 协议的邮件路由过程
SMTP 服务器基于域名服务 DNS 中计划收件人的域名来路由电子邮件。 SMTP 服务器基于 DNS 中的 MX 记录来路由电子邮件,MX 记录注册了域名和 相关的 SMTP 中继主机,属于该域的电子邮件都应向该主机发送。若 SMTP 服务器 mail.abc.com 收到一封信要发到 shuer@sh.abc.com,则执行以 下 过程:
SMTP 协议工作原理
SMTP 是工作在两种情况下:一是电子邮件从客户机传输到服务器:二 是从某一个服务器传输到另一个服务器。SMTP 也是个请求/响应协议,命令 和响应都是基于 ASCⅡ文本,并以 CR 和 LF 符结束。响应包括一个表示返 回状态的三位数字代码。 SMTP 在 TCP 协议 25 号端口监听连续请求。
连接和发送过程如下: (1)建立 TCP 连接。 (2)客户端发送 HELO 命令以标识发件人自己的身份,然后客户端发 送 MAIL 命令;服务器端正希望以 OK 作为响应,表明准备接收。 (3)客户端发送 RCPT 命令,以标识该电子邮件的计划接收人,可以 有多个 RCPT 行;服务器端则表示是否愿意为收件人接收邮件。 (4)协商结束,发送邮件,用命令 DATA 发送。 (5)以 “.”号表示结束输入内容一起发送出去,结束此次发送,用 QUIT 命令退出。
个人 SMTP 邮件服务器简单配置
一、安装 POP3 和 SMTP 服务组件 Windows Server 2003 默认情况下是没有安装 POP3 和 SMTP 服务组件 的,因此我们要手工添加。 1.安装 POP3 服务组件 以系统管理员身份登录 Windows Server 2003 系统。依次进入 “控制 面板 →添加或删除程序→添加/删除 Windows 组件 ”,在弹出的“Windows 组件向导”对话框中选中 “电子邮件服务”选项,点击 “详细信息”按钮, 可以看到该选项包括两部分内容:POP3 服务和 POP3 服务 Web 管理。为方 便 用户远程 Web 方式管理邮件服务器,建议选中 “POP 3 服务 Web 管理 ”。 2.安装 SMTP 服务组件 选中“应用程序服务器”选项,点击“详细信息 ”按钮,接着在 “Internet 信息服务(IIS)”选项中查看详细信息,选中“SMTP Service” 选项 ,最 后 点击 “ 确定 ” 按钮 。此 外, 如 果 用 户 需要 对 邮 件服务 器 进 行远 程 Web 管理,一定要选中“万维网服务”中的 “远程管理(HTML)”组件。 完成以上设置后,点击“下一步”按钮,系统就开始安装配置 POP3 和 SMTP 服务了。 二、配置 POP3 服务器 1. 创建 邮 件 域 点击“开始→管理工具→POP3 服务 ”,弹出 POP3 服务控制台窗口。选 中左栏中的 POP3 服务后,点击右栏中的“新域 ”,弹出 “添加域 ”对话 框 , 接着在 “域名 ”栏中输入邮件服务器的域名,也就是邮件地址“@”后面 的 部分,如“MAIL.COM”,最 后点击“确定”按钮。 2. 创建 用 户 邮 箱 选中刚才新建的 “MAIL.COM”域,在右栏中点击 “添加邮箱”,弹出 添加邮箱对话框,在“邮箱名 ”栏中输入邮件用户名,然后设置用户密码, 最后 点 击 “ 确定 ” 按钮 , 完 成 邮箱 的 创 建。 三、配置 SMTP 服务器 完成 POP3 服务器的配置后,就可开始配置 SMTP 服务器了。点击 “开 始→程序→管理工具 →Internet 信息服务(IIS)管理器 ”,在“IIS 管理 器”窗口中右键点击 “默认 SMTP 虚拟服务器”选项,在弹出的菜单中选 中 “属性 ”,进入 “默认 SM TP 虚拟服务器”窗口,切换到“常规 ”标签页 ,
垃圾邮件仍然是个重要的问题。原始的 SMTP 协议的局限之一在于它 没 有为发送方进行认证的功能。因此定义了 SMTP-AUTH 扩展。由于 SMTP 巨 大安装基础的网络效应,广阔地修改 SMTP 或者完全替代它被认为是不现实 的。 Internet Mail 2000 就是这样一个为替换而做的建议。IRTF 的反垃 圾邮 件 研究 小组 正在 研 究 一 些 提供 简 单 、灵活 、 轻 量级 的 、可 升 级 的 源 端 认证的建议。最有可能被接受的建议是 Sender Policy Framework 协 议 。
在这种方式下,邮件的发送可能经过从发送端到接收端路径上的大量 中间中继器或网关主机。域名服务系统(DNS)的邮件交换服务器可以用来 识别出传输邮件的下一跳 IP 地址。
Sendmail 是最早实现 SMTP 的邮件传输代理之一。到 2001 年至少有 50 个程序将 SMTP 实现为一个客户端(消息的发送者)或一个服务器(消息 的接受者)。一些其他的流行的 SMTP 服务器包括 Philip Hazel 的 exim, IBM 的 Postfix,D.J.Bernstein 的 Qmail,以及 Microsoft Exchange Server.
(1)Sendmail 请求 DNS 给出主机 sh.abc.com 的 CNAME 记录,如有 , 假若 CNAME(别名记录)到 shmail.abc.com,则再次请求 shmail.abc.com 的 CNAME 记录,直到没有为止。
(2)假定被 CNAME 到 shmail.abc.com,然后 sendmail 请求 @abc.com 域的 DNS 给出 shmail.abc.com 的 MX 记录(邮件路由及记录),shmail MX 5 shmail.abc.com 10 shmail2.abc.com。
(1)SMTP 信封比较容易理解,它被作为一系列的 SMTP 协议单元传送, 它包括发送者地址,传送模式,还有一个或多个接收者地址。如果有不清 楚的地方,请参阅《 SMTP 协议标准》。
(2) 至于 内 容 , 它 是 由 两 部 分 组 成 的 , 一 部 分 是 信 头 , 一 部 分 是 信 体, 信头 是 由 一 个个 的 域 /值对( 一 个 域 ,一 个 值 )组成 的 ,如果信 体 有结 构 的 话,它的结构是以 MIME 构造的。内容从根本上来说是文本的,一般也是由 ASCII 码构成的,但是由于使用了 MIME,所以这个限制应该也是没有了, 但信头却不行,一般都应该使用 ASCII 码表示。虽然 SMTP 协议是一个不错 的协议,可是对它的扩展还是不可避免,本文主要说明了一种扩展方法, 使用这种扩展方法,服务器和用户之间可以相互知道对方使用了扩展,使 用了多少,如果进行通信。
(3)Sendmail 组合请求 DNS 给出 shmail.abc.com 的 A 记录(主机 名 (或域名)对应的 IP 地址记录),即 IP 地址,若返回值为 1.2.3.4(假 设 值)。
(4)Sendmail 与 1.2.3.4 连接,传送这封给 shuser@sh.abc.com 的 信到 1.2.3.4 这台服务器的 SMTP 后台程序。
这里我们希望让大家知道网络协议中的一个经验:参数越多,死得越 快;参数越少,越能持久。参数太多了,根本不利于使用,无法推广,早 晚会被别的协议取代。这也符合科学的基础原理,简单。这说明在实现时 一定要小心,如果不小心会便得到的远远小于付出的,有时根本不能提供 任何益处。
下面我们看一下 EHLO 命令,支持 SMTP 服务扩展的客户应该以 EHLO 命 令开始 SMTP 会话,而不是通常的 HELO 命令。如果服务器也支持,那就返 回确认响应,如果不支持就返回失败响应。因为引入了 EHLO 命令,因此会 话开始的第一条命令可以是 HELO 或 EHLO。
SMTP 服务扩展
SMTP 提供一种可靠的有效的传送机制,它用于传送电子邮件。虽然十 几年来,它的作用已经有目共睹,可是对它功能的扩充也是必不可少的。 对 SMTP 服务的扩展我们介绍一下:在 SMTP 转发的邮件中包括信封和内容 这两种东西。我们写信也写信封和信皮,我们可以借生活中的信件来帮助 理解。
SMTP 协议发展
在 20 世纪 80 年代早期 SMTP 开始被广泛地使用。当时它只是作为 UUCP 的补充,UUCP 更适合于处理在间歇连接的机器间传送邮件。相反 SMTP 在 发送和接收的机器始终都联网的情况下工作得最好。
SMTP 独立于特定的传输子系统,且只需要可靠有序的数据流信道支持。 SMTP 重要特性之一是其能跨越网络传输邮件,即“SMTP 邮件中继”。通 常 , 一个网络可以由公用因特网上 TCP 可相互间访问的主机、防火墙分隔的 TCP/IP 网络上 TCP 可相互访问的主机,以及其他 LAN/WAN 中的主机利用非 TCP 传输层协议组成。使用 SMTP,可实现相同网络上处理机之间的邮件传 输,也可通过中继器或网关是实现某处理机与其他网络之间的邮件传输。
在“IP 地址 ”下拉列表框中选中邮件服务器的 IP 地址即可。点击“确定 ” 按钮,此时 SMTP 服务器默认的是匿名访问,打开切换到“访问 ”标签 页, 点击 “身份验证”按钮,在对话框中去掉“匿名访问 “选项,选中”基本 身份验证( Basic authentication)“。这样一个简单的邮件服务器就架 设完成了。 [1]
百度文库HELP<comma nd>
查询服务 器支持什 么命令,返 回命令中 的信息
MAIL FROM< host>
在主机上 初始化一 个邮件会 话
NOOP
无操作,服 务器应响 应 OK
QUIT
终止邮件 会话
RCPT TO<us er>
标识单个 的邮件接 收人;常在 MAIL 命令 后面可有 多个 rcpt to:
SMTP 命令是发送于 SMTP 主机之间的 ASCⅡ信息,可能使用到的命令 如 下表所示。
SMTP 协议命令
命令
描述
DATA
开始信息 写作
EXPN<strin g>
验证给定 的邮箱列 表是否存 在,扩充邮 箱列表,也 常被禁用
HELO<domai n>
向服务器 标识用户 身份,返回 邮件服务 器身份
RSET
重置会话, 当前传输 被取消
SAML FROM< host>
发送邮件 到用户终 端和邮箱
SEND FROM< host>
发送邮件 到用户终 端
SOML FROM< host>
发送邮件 到用户终 端或邮箱
TURN
接收端和 发送端交 换角色
VRFY<user> 用于验证
指定的用 户/邮箱是 否存在;由 于安全方 面的原因, 服务器常 禁止此命 令
由于这个协议开始是基于纯 ASCⅡ文本的,在二进制文件上处理得并 不 好。后来开发了用来编码二进制文件的标准,如 MIME,以使其通过 SMTP 来传输。今天,大多数 SMTP 服务器都支持 8 位 MIME 扩展,它使二进制文 件的传输变得几乎和纯文本一样简单。
( 注意:SMTP 是一个"推"的协议,它不允许根据需要从远程服务器上 “拉”来消息。要做到这点,邮件客户端必须使用 POP3 或 IMAP 上。另一 个, SMTP 服务器可以使用 ETRN(Extended Turn,扩展回车)命令在 SMTP 上触 发一 个 发送 。 )
SMTP 协议
来源:互联网
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,是一种提供可靠且有效电子 邮件传输的协议。SMTP 是建立在 FTP 文件传输服务上的一种邮件服务,主要用于传输系统 之间的邮件信息并提供与来信有关的通知。
SMTP 协议简介
SMTP 目前已是事实上的在 Internet 传输 E-Mail 的标准,是一个相 对 简单 的 基 于 文 本 的 协 议。在其之 上 指 定 了 一 条 消 息 的 一 个 或 多 个 接 收者(在 大多数情况下被确定是存在的),然后消息文本就传输了。可以很简单地 通过 Telnet 程序来测试一个 SMTP 服务器,SMTP 使用 TCP 端口 25。要为 一 个给定的域名决定一个 SMTP 服务器,需要使用 MX(Mail eXchange)DNS。
SMTP 协议的邮件路由过程
SMTP 服务器基于域名服务 DNS 中计划收件人的域名来路由电子邮件。 SMTP 服务器基于 DNS 中的 MX 记录来路由电子邮件,MX 记录注册了域名和 相关的 SMTP 中继主机,属于该域的电子邮件都应向该主机发送。若 SMTP 服务器 mail.abc.com 收到一封信要发到 shuer@sh.abc.com,则执行以 下 过程:
SMTP 协议工作原理
SMTP 是工作在两种情况下:一是电子邮件从客户机传输到服务器:二 是从某一个服务器传输到另一个服务器。SMTP 也是个请求/响应协议,命令 和响应都是基于 ASCⅡ文本,并以 CR 和 LF 符结束。响应包括一个表示返 回状态的三位数字代码。 SMTP 在 TCP 协议 25 号端口监听连续请求。
连接和发送过程如下: (1)建立 TCP 连接。 (2)客户端发送 HELO 命令以标识发件人自己的身份,然后客户端发 送 MAIL 命令;服务器端正希望以 OK 作为响应,表明准备接收。 (3)客户端发送 RCPT 命令,以标识该电子邮件的计划接收人,可以 有多个 RCPT 行;服务器端则表示是否愿意为收件人接收邮件。 (4)协商结束,发送邮件,用命令 DATA 发送。 (5)以 “.”号表示结束输入内容一起发送出去,结束此次发送,用 QUIT 命令退出。
个人 SMTP 邮件服务器简单配置
一、安装 POP3 和 SMTP 服务组件 Windows Server 2003 默认情况下是没有安装 POP3 和 SMTP 服务组件 的,因此我们要手工添加。 1.安装 POP3 服务组件 以系统管理员身份登录 Windows Server 2003 系统。依次进入 “控制 面板 →添加或删除程序→添加/删除 Windows 组件 ”,在弹出的“Windows 组件向导”对话框中选中 “电子邮件服务”选项,点击 “详细信息”按钮, 可以看到该选项包括两部分内容:POP3 服务和 POP3 服务 Web 管理。为方 便 用户远程 Web 方式管理邮件服务器,建议选中 “POP 3 服务 Web 管理 ”。 2.安装 SMTP 服务组件 选中“应用程序服务器”选项,点击“详细信息 ”按钮,接着在 “Internet 信息服务(IIS)”选项中查看详细信息,选中“SMTP Service” 选项 ,最 后 点击 “ 确定 ” 按钮 。此 外, 如 果 用 户 需要 对 邮 件服务 器 进 行远 程 Web 管理,一定要选中“万维网服务”中的 “远程管理(HTML)”组件。 完成以上设置后,点击“下一步”按钮,系统就开始安装配置 POP3 和 SMTP 服务了。 二、配置 POP3 服务器 1. 创建 邮 件 域 点击“开始→管理工具→POP3 服务 ”,弹出 POP3 服务控制台窗口。选 中左栏中的 POP3 服务后,点击右栏中的“新域 ”,弹出 “添加域 ”对话 框 , 接着在 “域名 ”栏中输入邮件服务器的域名,也就是邮件地址“@”后面 的 部分,如“MAIL.COM”,最 后点击“确定”按钮。 2. 创建 用 户 邮 箱 选中刚才新建的 “MAIL.COM”域,在右栏中点击 “添加邮箱”,弹出 添加邮箱对话框,在“邮箱名 ”栏中输入邮件用户名,然后设置用户密码, 最后 点 击 “ 确定 ” 按钮 , 完 成 邮箱 的 创 建。 三、配置 SMTP 服务器 完成 POP3 服务器的配置后,就可开始配置 SMTP 服务器了。点击 “开 始→程序→管理工具 →Internet 信息服务(IIS)管理器 ”,在“IIS 管理 器”窗口中右键点击 “默认 SMTP 虚拟服务器”选项,在弹出的菜单中选 中 “属性 ”,进入 “默认 SM TP 虚拟服务器”窗口,切换到“常规 ”标签页 ,
垃圾邮件仍然是个重要的问题。原始的 SMTP 协议的局限之一在于它 没 有为发送方进行认证的功能。因此定义了 SMTP-AUTH 扩展。由于 SMTP 巨 大安装基础的网络效应,广阔地修改 SMTP 或者完全替代它被认为是不现实 的。 Internet Mail 2000 就是这样一个为替换而做的建议。IRTF 的反垃 圾邮 件 研究 小组 正在 研 究 一 些 提供 简 单 、灵活 、 轻 量级 的 、可 升 级 的 源 端 认证的建议。最有可能被接受的建议是 Sender Policy Framework 协 议 。
在这种方式下,邮件的发送可能经过从发送端到接收端路径上的大量 中间中继器或网关主机。域名服务系统(DNS)的邮件交换服务器可以用来 识别出传输邮件的下一跳 IP 地址。
Sendmail 是最早实现 SMTP 的邮件传输代理之一。到 2001 年至少有 50 个程序将 SMTP 实现为一个客户端(消息的发送者)或一个服务器(消息 的接受者)。一些其他的流行的 SMTP 服务器包括 Philip Hazel 的 exim, IBM 的 Postfix,D.J.Bernstein 的 Qmail,以及 Microsoft Exchange Server.
(1)Sendmail 请求 DNS 给出主机 sh.abc.com 的 CNAME 记录,如有 , 假若 CNAME(别名记录)到 shmail.abc.com,则再次请求 shmail.abc.com 的 CNAME 记录,直到没有为止。
(2)假定被 CNAME 到 shmail.abc.com,然后 sendmail 请求 @abc.com 域的 DNS 给出 shmail.abc.com 的 MX 记录(邮件路由及记录),shmail MX 5 shmail.abc.com 10 shmail2.abc.com。
(1)SMTP 信封比较容易理解,它被作为一系列的 SMTP 协议单元传送, 它包括发送者地址,传送模式,还有一个或多个接收者地址。如果有不清 楚的地方,请参阅《 SMTP 协议标准》。
(2) 至于 内 容 , 它 是 由 两 部 分 组 成 的 , 一 部 分 是 信 头 , 一 部 分 是 信 体, 信头 是 由 一 个个 的 域 /值对( 一 个 域 ,一 个 值 )组成 的 ,如果信 体 有结 构 的 话,它的结构是以 MIME 构造的。内容从根本上来说是文本的,一般也是由 ASCII 码构成的,但是由于使用了 MIME,所以这个限制应该也是没有了, 但信头却不行,一般都应该使用 ASCII 码表示。虽然 SMTP 协议是一个不错 的协议,可是对它的扩展还是不可避免,本文主要说明了一种扩展方法, 使用这种扩展方法,服务器和用户之间可以相互知道对方使用了扩展,使 用了多少,如果进行通信。
(3)Sendmail 组合请求 DNS 给出 shmail.abc.com 的 A 记录(主机 名 (或域名)对应的 IP 地址记录),即 IP 地址,若返回值为 1.2.3.4(假 设 值)。
(4)Sendmail 与 1.2.3.4 连接,传送这封给 shuser@sh.abc.com 的 信到 1.2.3.4 这台服务器的 SMTP 后台程序。
这里我们希望让大家知道网络协议中的一个经验:参数越多,死得越 快;参数越少,越能持久。参数太多了,根本不利于使用,无法推广,早 晚会被别的协议取代。这也符合科学的基础原理,简单。这说明在实现时 一定要小心,如果不小心会便得到的远远小于付出的,有时根本不能提供 任何益处。
下面我们看一下 EHLO 命令,支持 SMTP 服务扩展的客户应该以 EHLO 命 令开始 SMTP 会话,而不是通常的 HELO 命令。如果服务器也支持,那就返 回确认响应,如果不支持就返回失败响应。因为引入了 EHLO 命令,因此会 话开始的第一条命令可以是 HELO 或 EHLO。
SMTP 服务扩展
SMTP 提供一种可靠的有效的传送机制,它用于传送电子邮件。虽然十 几年来,它的作用已经有目共睹,可是对它功能的扩充也是必不可少的。 对 SMTP 服务的扩展我们介绍一下:在 SMTP 转发的邮件中包括信封和内容 这两种东西。我们写信也写信封和信皮,我们可以借生活中的信件来帮助 理解。
SMTP 协议发展
在 20 世纪 80 年代早期 SMTP 开始被广泛地使用。当时它只是作为 UUCP 的补充,UUCP 更适合于处理在间歇连接的机器间传送邮件。相反 SMTP 在 发送和接收的机器始终都联网的情况下工作得最好。
SMTP 独立于特定的传输子系统,且只需要可靠有序的数据流信道支持。 SMTP 重要特性之一是其能跨越网络传输邮件,即“SMTP 邮件中继”。通 常 , 一个网络可以由公用因特网上 TCP 可相互间访问的主机、防火墙分隔的 TCP/IP 网络上 TCP 可相互访问的主机,以及其他 LAN/WAN 中的主机利用非 TCP 传输层协议组成。使用 SMTP,可实现相同网络上处理机之间的邮件传 输,也可通过中继器或网关是实现某处理机与其他网络之间的邮件传输。
在“IP 地址 ”下拉列表框中选中邮件服务器的 IP 地址即可。点击“确定 ” 按钮,此时 SMTP 服务器默认的是匿名访问,打开切换到“访问 ”标签 页, 点击 “身份验证”按钮,在对话框中去掉“匿名访问 “选项,选中”基本 身份验证( Basic authentication)“。这样一个简单的邮件服务器就架 设完成了。 [1]
百度文库HELP<comma nd>
查询服务 器支持什 么命令,返 回命令中 的信息
MAIL FROM< host>
在主机上 初始化一 个邮件会 话
NOOP
无操作,服 务器应响 应 OK
QUIT
终止邮件 会话
RCPT TO<us er>
标识单个 的邮件接 收人;常在 MAIL 命令 后面可有 多个 rcpt to: