搜尋
首頁後端開發php教程RFC821-简单邮件传输协议SMTP中文版-1_PHP教程
RFC821-简单邮件传输协议SMTP中文版-1_PHP教程Jul 13, 2016 pm 05:27 PM
internetsmtp中文版傳輸協定引入簡單郵件

3.7. 域   域是最近被引入ARPA Internet邮件系统的。使用域可以使地址空间从一 个平面的普通字符串主机名变成全局地址的一个层次结构。主机由一个域名取 代,起始主机是由一系列元串组成,它们由逗号按最特殊到一般的顺序排列。   例如,"USC-ISIF.ARPA","Fred.Cambridge.UK"和"PC7.LCS.MIT.ARPA"可 能是主机-域标识符。   无论域名在SMTP中如何使用,只有正式的名称才可以被使用,不可以使用 假名或昵称。 3.8. 改变角色   TURN命令可以用来改变在传输信道上通信的程序的角色。如果程序A现在是 发送SMTP,它发送TURN命令并接到OK应答(250)后,它就变为接收SMTP了。同 理,程序B也可以从接收SMTP变为发送SMTP。若要拒绝改变角色,接收方可以发 送502作为应答。   注意:此命令是可选的。在使用TCP的传输信道时,一般不使用此命令。然 而,当建立传输信道的代价比较大时,此命令很有用。例如,此命令可以支持一 般公共交换电话系统作为传输信道。 4. SMTP说明 4.1. SMTP命令 4.1.1. 命令语法   SMTP命令定义了邮件传输或由用户定义的系统功能。它的命令是由 结束的字符串。而在带有参数的情况下,命令本身由和参数分开,如果 未带参数可以直接和连接。邮箱的语法格式必须和接收站点的格式一致。 下面讨论SMTP命令和应答。   发送邮件操作涉及到不同的数据对象,它们由不同的参数相互连接。回 复路径就是MAIL命令的参数,而转发路径则是RCPT命令的参数,邮件日期是 DATA命令的参数。这些参数或者数据对象必须跟在命令后。这种模式也就要 求有不同的缓冲区来存储这些对象,也就是说,有一个回复路径缓冲区,一 个转发路径缓冲区,一个邮件内容缓冲区。特定的命令产生自己的缓冲区, 或使一个或多个缓冲的内容被清除。   HELLO (HELO)   此命令用于向接收SMTP确认发送SMTP。参数域包括发送SMTP的主机名。 接收SMTP通过连接确认命令来向发送SMTP确认接收SMTP。引命令和OK响应确 认发送和接收SMTP进入了初始状态,也就是说,没有操作正在执行,所有状态 表和缓冲区已经被子清除。   MAIL (MAIL)   此命令用于开始将邮件发送到一个多个邮箱中。参数域包括回复路径。 返回路径中包括了可选的主机和发送者邮箱列表。当有主机列表时,它是一 个回复路径源,它说明此邮箱是由在表中的主机一一传递发送(第一个主机 是最后一个接收到此邮件的主机)过来的。此表也有作向发送者返回非传递信 号的源路径。因为每个传递主机地址都被加在此表起始处,它就必须使用发送 IPCE而不是接收IPCE(如果它们不是一个IPCE的话)清楚的名称。一些出错信 息的回复路径可能就是空的。   此命令清除回复路径缓冲区,转发路径缓冲区和邮件内容缓冲区,并且将 此命令的回复路径信息插入到回复路径缓冲区中。   RECIPIENT (RCPT)   此命令用于确定邮件内容的唯一接收者;多个接收者将由多个此命令指定。 转发路径中包括一个可选的主机和一个必须的目的邮箱。当出现主机列表时, 这就是一个源路径,它指明邮件必须向列表中的上一个主机发送。如果接收 SMTP未实现邮件的传递发送,就会返回如未知本地用户(550)的信息给用户。   当邮件被传递发送时,传递主机必须将自己的名称由转发路径的开始处 移至回复路径的结束处。当邮件最终到达目的地时,接收SMTP将以它的主机邮 件格式自己的名称插入目标邮件中。例如,由传递主机A接收的带有如下参 数的邮件时,   FROM:   TO:   将会变成如下形式:   FROM:   TO:.   此命令导致它的转发路径参数加入转发路径缓冲区中。   DATA (DATA)   接收者将跟在命令后的行作为邮件内容。此命令导致此命令后的邮件内容 加入邮件内容缓冲区。邮件内容可以包括所有128个ASCII码字符。邮件内容由只 包括一个句号的行结束,也就是如下的字符序列:".",它指示了 邮件的结束。   邮件内容的结束指示要求接收者现在就处理保存的邮件内容。此过程将回复 路径缓冲区,转发路径缓冲区和邮件内容缓冲区的内容全部清空。如果操作成功, 接收者必须返回OK应答;如果失败也必须返回失败应答。   当接收SMTP收到一条信息时,无论是用作转发还是此邮件已经到达目的地, 它都必须在邮件内容的开始处加上时间戳这一行,这一行指示了接收到邮件主 机和发出此邮件主机的标识,以及接收到邮件内容的时间和日期。转发的信件 将有多行这样的时间戳。当接收SMTP作最后一站的传送时,它将返回路径信息 行插入邮件中。此行包括了发送命令中的的信息。在这里,最 后一站的传送的意思是邮件将被送到目的用户手中,但在一些情况下,邮件可 能需要更进一步的加工并由另外的邮件系统传送。   可能在返回路径中的邮箱与实际发送的邮件不一致,这个情况可能发生在 需要传送一个特定的错误处理信箱而不是信件发送者那里。上面所述说明了, 最后的邮件内容由一个返回路径行,和在其后的一个或多个时间戳行构成。这 些行后面是邮件内容的头和体信息。   当处理后面的邮件数据指示部分成功时就需要特定的说明。这种情况可能 发生在发送SMTP发现当邮件需要传送给多个用户时,只能够成功地向其中的一 部分发送信息这种情况下。在这种情况下,必须对DATA命令发送OK应答,而接 收SMTP组织并发送一个"不可传递邮件"信息到信息的发送者。在此信息中或者 发送一个不成功接收者的列表,或者每次发送一个不成接收者,而发送多次。 所有不可传递邮件信息由MAIL命令发送。   返回路径和接收时间戳例子   Return-Path:   Received: from GHI.ARPA by JKL.ARPA ; 27 Oct 81 15:27:39 PST   Received: from DEF.ARPA by GHI.ARPA ; 27 Oct 81 15:15:13 PST   Received: from ABC.ARPA by DEF.ARPA ; 27 Oct 81 15:01:59 PST   Date: 27 Oct 81 15:01:01 PST   From: JOE@ABC.ARPA   Subject: Improved Mailing System Installed   To: SAM@JKL.ARPA   This is to inform you that ...   SEND (SEND)   此命令用于开始一个发送命令,将邮件发送到一个或多个终端上。参数 域包括了一个回复路径,此命令如果成功就将邮件发送到终端上了。   回复路径包括一个可选的主机列表和发送者邮箱。当出现主机列表时, 表示这是一个传送路径,邮件就是经过这个路径上的每个主机发送到这里的 (列表上第一个主机是最后经手的主机)。此表用于返回非传递信号到发送者。 因为每个传递主机地址都被加在此表起始处,它就必须使用发送IPCE而不是接 收IPCE(如果它们不是一个IPCE的话)清楚的名称。一些出错信息的回复路径 可能就是空的。   此命令清除回复路径缓冲区,转发路径缓冲区和邮件内容缓冲区,并且将 此命令的回复路径信息插入到回复路径缓冲区中。   SEND OR MAIL (SOML)   此命令用于开始一个邮件操作将邮件内容传送到一个或多个终端上,或者 传送到邮箱中。对于每个接收者,如果接收者终端打开,邮件内容将被传送到 接收者的终端上,否则就送到接收者的邮箱中。参数域包括回复路径,如果成 功地将信息送到终端或邮箱中此命令成功。   回复路径包括一个可选的主机列表和发送者邮箱。当出现主机列表时,表 示这是一个传送路径,邮件就是经过这个路径上的每个主机发送到这里的(列 表上第一个主机是最后经手的主机)。此表用于返回非传递信号到发送者。因 为每个传递主机地址都被加在此表起始处,它就必须使用发送IPCE而不是接收 IPCE(如果它们不是一个IPCE的话)清楚的名称。一些出错信息的回复路径可 能就是空的。   此命令清除回复路径缓冲区,转发路径缓冲区和邮件内容缓冲区,并且将 此命令的回复路径信息插入到回复路径缓冲区中。   SEND AND MAIL (SAML)   此命令用于开始一个邮件操作将邮件内容传送到一个或多个终端上,并传 送到邮箱中。如果接收者终端打开,邮件内容将被传送到接收者的终端上和接 收者的邮箱中。参数域包括回复路径,如果成功地将信息送到邮箱中此命令成 功。   回复路径包括一个可选的主机列表和发送者邮箱。当出现主机列表时,表 示这是一个传送路径,邮件就是经过这个路径上的每个主机发送到这里的(列 表上第一个主机是最后经手的主机)。此表用于返回非传递信号到发送者。因 为每个传递主机地址都被加在此表起始处,它就必须使用发送IPCE而不是接收 IPCE(如果它们不是一个IPCE的话)清楚的名称。一些出错信息的回复路径可 能就是空的。   此命令清除回复路径缓冲区,转发路径缓冲区和邮件内容缓冲区,并且将 此命令的回复路径信息插入到回复路径缓冲区中。   RESET (RSET)   此命令指示当送邮件操作将被放弃。任何保存的发送者,接收者和邮件内 容应该被抛弃,所有缓冲区和状态表应该被清除,接收方必须返回OK应答。   VERIFY (VRFY)   此命令要求接收者确认参数是一个用户。如果这是(已经知道的)用户名, 返回用户的全名和指定的邮箱。此命令对回复路径缓冲区,转发路径缓冲区和邮 件内容缓冲区没有影响。   EXPAND (EXPN)   此命令要求接收者确认参数指定了一个邮件发送列表,如果是一个邮件发送 列表,就返回表中的成员。如果这是(已经知道的)用户名,返回用户的全名和 指定的邮箱。此命令对回复路径缓冲区,转发路径缓冲区和邮件内容缓冲区没有 影响。   HELP (HELP)   此命令导致接收者向HELP命令的发送者发出帮助信息。此命令可以带参数, 并返回特定的信息作为应答。此命令对回复路径缓冲区,转发路径缓冲区和邮件 内容缓冲区没有影响。   NOOP (NOOP)   此命令不影响任何参数和已经发出的命令。它只是说明没有任何操作而不是 说明接收者发送了一个OK应答。此命令对回复路径缓冲区,转发路径缓冲区和邮

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/531889.htmlTechArticle3.7. 域 域是最近被引入ARPA Internet邮件系统的。使用域可以使地址空间从一 个平面的普通字符串主机名变成全局地址的一个层次结构。主机...
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最简便的硬盘序列号查询方式最简便的硬盘序列号查询方式Feb 26, 2024 pm 02:24 PM

硬盘序列号是硬盘的一个重要标识,通常用于唯一标识硬盘以及进行硬件识别。在某些情况下,我们可能需要查询硬盘序列号,比如在安装操作系统、查找正确设备驱动程序或进行硬盘维修等情况下。本文将介绍一些简单的方法,帮助大家查询硬盘序列号。方法一:使用Windows命令提示符打开命令提示符。在Windows系统中,按下Win+R键,输入"cmd"并按下回车键即可打开命

如何通过PHP编写一个简单的在线预约系统如何通过PHP编写一个简单的在线预约系统Sep 26, 2023 pm 09:55 PM

如何通过PHP编写一个简单的在线预约系统随着互联网的普及和用户对便利性的追求,在线预约系统越来越受到欢迎。无论是餐厅、医院、美容院还是其他服务行业,都可以通过一个简单的在线预约系统来提高效率并为用户提供更好的服务体验。本文将介绍如何使用PHP编写一个简单的在线预约系统,并提供具体的代码示例。创建数据库和表格首先,我们需要创建一个数据库来存储预约信息。在MyS

如何使用Java编写一个简单的学生成绩报表生成器?如何使用Java编写一个简单的学生成绩报表生成器?Nov 03, 2023 pm 02:57 PM

如何使用Java编写一个简单的学生成绩报表生成器?学生成绩报表生成器是一个可以帮助老师或教育者快速生成学生成绩报告的工具。本文将介绍如何使用Java编写一个简单的学生成绩报表生成器。首先,我们需要定义学生对象和学生成绩对象。学生对象包含学生的姓名、学号等基本信息,而学生成绩对象则包含学生的科目成绩和平均成绩等信息。以下是一个简单的学生对象的定义:public

快速入门:使用Go语言函数实现简单的图书管理系统快速入门:使用Go语言函数实现简单的图书管理系统Jul 30, 2023 am 09:18 AM

快速入门:使用Go语言函数实现简单的图书管理系统引言:随着计算机科学领域的不断发展,软件应用的需求也越来越多样化。图书管理系统作为一种常见的管理工具,也成为很多图书馆、学校和企业必备的系统之一。在本文中,我们将使用Go语言函数来实现一个简单的图书管理系统。通过这个例子,读者可以学习到Go语言中函数的基本用法以及如何构建一个实用的程序。一、设计思路:我们首先来

如何通过C++编写一个简单的音乐推荐系统?如何通过C++编写一个简单的音乐推荐系统?Nov 03, 2023 pm 06:45 PM

如何通过C++编写一个简单的音乐推荐系统?引言:音乐推荐系统是现代信息技术的一个研究热点,它可以根据用户的音乐偏好和行为习惯,向用户推荐符合其口味的歌曲。本文将介绍如何使用C++编写一个简单的音乐推荐系统。一、收集用户数据首先,我们需要收集用户的音乐偏好数据。可以通过在线调查、问卷调查等方式来获得用户对不同类型音乐的喜好程度。将数据保存在一个文本文件或数据库

修复:Windows 11、10 中邮件和日历应用程序的错误代码 0x80070490修复:Windows 11、10 中邮件和日历应用程序的错误代码 0x80070490Apr 13, 2023 pm 09:13 PM

一些 Windows 用户在尝试将 Gmail 或任何其他电子邮件帐户添加到 Windows PC 上的邮件应用程序时报告了错误消息“出现问题,我们很抱歉,但我们无法做到这一点”以及错误代码0x80070490 在屏幕上。即使经过多次尝试,客户也无法将任何电子邮件帐户添加到他们的邮件应用程序中。用户非常不满意,并且不确定如何从这里转移。在邮件应用程序中添加电子邮件帐户时出现此错误的可能原因可能是系统数据文件损坏、邮件应用程序的一些内部问题、过时的邮件应用程序等。在分析了上述可能导致此错误的原因后

如何使用PHP开发简单的文件管理功能如何使用PHP开发简单的文件管理功能Sep 20, 2023 pm 01:09 PM

如何使用PHP开发简单的文件管理功能简介:文件管理功能在很多Web应用中都是必不可少的一部分。它允许用户上传、下载、删除和展示文件,为用户提供了便捷的文件管理方式。本文将介绍如何使用PHP开发一个简单的文件管理功能,并提供具体的代码示例。一、创建项目首先,我们需要创建一个基本的PHP项目。在项目目录下创建以下文件:index.php:主页面,用于显示上传表

如何在 iPhone 和 iPad 上的邮件应用中将 Gmail 设置为删除而不是存档如何在 iPhone 和 iPad 上的邮件应用中将 Gmail 设置为删除而不是存档Apr 13, 2023 pm 02:34 PM

您是否注意到,当您尝试在 iOS 上删除 Gmail 中的邮件时,您只会看到存档选项?继续阅读以了解如何在 iPhone 上删除 Gmail,而不是在邮件应用中存档。更改使用iPhone 和 iPad上的邮件应用程序归档 Gmail 电子邮件的默认选项的设置完全隐藏在设置中,但一旦你知道去哪里,它就可以快速更改。请记住,本教程适用于通过 iPhone 和 iPad 上的 Apple 邮件应用程序使用 Gmail 的用户。另一种选择是在 iPhone/iPad 上使用 Gmail 应用程序。您甚至

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
1 個月前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境