使用telnet协议来收发邮件(SMTP和POP3)
使用telnet协议来收发邮件(SMTP和POP3)

第一部分邮件传输协议SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)定义了邮件客户端软件与SMTP服务器之间,以及两台SMTP服务器间的通信规则。
SMTP服务器之间的通信规则。
SMTP协议中一共定义了18条命令,发送一封电子邮件的过程通常只需要使用其中6条命令,表1中按照发送命令的先后顺序列出了这6条命令,并描述了其语法格式及功能说明,其中,<SP>代表空格,<CRLF>代表回车和换行。
表1SMTP命令及格式说明ehlo<SP><domain><CRLF> ehlo命令是SMTP邮件发送程序与SMTP邮件接收程序建立连接后必须发送的第一条SMTP命令。
参数<domain>表示SMTP邮件发送者的主机名。
ehlo命令用于替代传统SMTP协议中的helo命令auth<SP><para><CRLF> 如果SMTP邮件接收程序需要SMTP邮件发送程序进行认证时,它会向SMTP邮件发送程序提示它所采用的认证方式,SMTP邮件发送程序接着应该使用这个命令回应SMTP邮件接收程序,参数<para>表示回应的认证方式,通常是SMTP邮件接收程序先前提示的认证方式。
mail<SP>from:<reverse-path><CRLF> 此命令用于指定邮件发送者的邮箱地址,参数<reverse-path>表示发件人的邮箱地址。
rept<SP>to:<forword-path><CRLF> 此命令用于指定邮件接收者的邮箱地址,参数<forword-path>表示接收者的邮箱地址。
如果邮件要发送多个接收者,那么应使用多条rept<SP>to命令来分别指定每一个接收者的邮箱地址。
POP3协议

介绍POP3协议的定义和作用POP3(Post Office Protocol version3)是一种用于电子邮件传输的协议。
它是互联网上最常用的电子邮件接收协议之一。
POP3协议允许用户从邮件服务器上下载电子邮件到本地计算机,以便离线阅读和管理邮件。
作用POP3协议的主要作用是提供一种标准化的方式,让用户通过邮件客户端应用程序(如Outlook、Thunderbird等)从邮件服务器上接收电子邮件。
以下是POP3协议的主要作用:1.接收邮件:用户可以使用POP3协议从邮件服务器上下载未读邮件到本地计算机,以便在没有网络连接的情况下阅读和处理邮件。
2.存储邮件:POP3允许用户选择在服务器上保留或删除已下载的邮件副本。
这样,用户可以自由地管理邮件,删除不需要的邮件,或者将重要的邮件保留在服务器上以备后续查看。
3.离线访问:由于POP3协议允许将邮件下载到本地计算机,用户可以在没有网络连接或者在移动设备上离线状态时,仍然能够阅读和处理邮件。
4.节省带宽:一旦邮件下载到本地计算机,用户可以在本地进行阅读和管理,而不需要频繁地与邮件服务器通信。
这样可以节省网络带宽的使用,尤其是对于使用低速或昂贵的网络连接的用户来说。
总的来说,POP3协议提供了一种方便、灵活和可靠的方式,让用户能够高效地接收和管理电子邮件。
无论是个人用户还是企业用户,都可以通过POP3协议来处理他们的邮件通信需求。
解释POP3协议的工作原理和基本流程POP3(Post Office Protocol version3)协议是一种客户端‑服务器协议,用于从邮件服务器上接收电子邮件。
下面是POP3协议的工作原理和基本流程:1.建立连接:邮件客户端应用程序与邮件服务器之间建立TCP连接。
通常,邮件服务器的标准端口是110。
一旦连接建立,客户端可以向服务器发送命令来获取邮件。
2.身份验证:客户端发送用户名和密码给服务器进行身份验证。
这些凭据用于确认用户的身份和权限,以便访问邮件。
TCPIP练习题

1.Telnet工作在应用层,使用的端口号是(23),FTP使用的端口号(21)。
判断:2.DNS、Telnet和FTP都使用TCP作为传输层协议。
(错)3.Web服务器提供的Web服务的默认端口号是(80);4.HTTP请求报文包括(请求行、状态行)、(信息首部)、空行和(信息体)组成。
请求命令包括__GET,HEAD,PUT,POST,DELETE,TRACE,和CONNECT__________________。
5.HTTP响应报文中(状态码)描述了响应类型,(2XX )表示请求成功。
6.SMTP是一个简单的邮件传输协议,只能发送使用(请求/应答)格式的报文。
7.SMTP使用TCP的(25 )号端口。
POP3服务器使用TCP端口(110)号。
(1)P210——3(2)BOOTP客户机使用端口号(68),服务器使用端口号(67 )。
BOOTP使用(UDP )协议进行数据传递。
(3)判断题:BOOTP客户机发送请求报文时使用广播方式,BOOTP服务器发送应答报文时使用单播方式。
(错)(4)解释IP地址池的概念。
是DHCP客户机可以从DHCP服务器分配的道德IP地址的范围(5)以下哪些报文时DHCP客户机发送的(A D E),哪些是DHCP服务器发送的(B C FG)。
A. DHCPDISCOVERB. DHCPOFFERC. DHCPACKD.DHCPREQUESTE.DHCPDECLINEF.DHCPNAKG.DHCPRELEASE(6)判断题:DHCP客户机只有在首次登陆网络时才有可能发送DHCPDISCOVER广播。
(对)习题:1、判断:SNMP协议时为TCP/IP网络设计的,工作在UDP之上。
(对)2、判断:SNMP无连接的协议。
(对)3、填空:SNMP规定了5中协议数据单元:(get-request )、(get-nest-request )、(set-request )、(get-response )、(trap操作)。
邮件传输协议SMTP和SMTPS

邮件传输协议SMTP和SMTPS在《》中,我们实现了spring boot集成spring-boot-starter-mail,使⽤JavaMailSender发送电⼦邮件的功能。
在配置⽂件中设置了端⼝和邮件传输协议,现在思考⼀个问题——它们是什么呢?这⾥就剥茧抽丝般的揭开其神秘⾯纱。
1. 三种邮件传输协议概述作为⼀个勤学好问的程序猿,我们当然也要了解下邮件发送的协议,这个是关乎邮件发送的最根本的内容。
在上述邮件发送的过程中,邮件客户端和邮件服务器之间,以及两个邮件服务器之间进⾏邮件传递,是要遵守⼀定的规则,这个规则就是邮件传输协议。
常见的电⼦邮件协议SMTP、POP3、IMAP,它们都⾪属于TCP/IP协议族,默认状态下,分别通过TCP端⼝25、110和143建⽴连接。
下⾯分别对其进⾏简单介绍。
1. SMTP:简单邮件传输协议(Simple Mail Transfer Protocol),⽤于发送电⼦邮件的传输协议;主要⽤来从邮件客户端向邮件服务器发送邮件,也可以⽤来在邮件服务器之间转发邮件。
2. POP3:Post Office Protocol,⽤于接收电⼦邮件的标准协议;3. IMAP:全称是 Internet Message Access Protocol,互联⽹消息协议,是POP3的代替协议;后两者⽤来从邮件服务器获取邮件。
这三种协议都有对应SSL加密传输的协议,分别是SMTPS,POP3S和IMAPS。
下⾯介绍SMTP和SMTPS协议。
2. SMTP协议SMTP:简单邮件传输协议,是⼀个基于⽂本的协议。
在其上指定了⼀个消息的⼀个或多个接收者(收件⼈和抄送⼈),然后消息⽂本会被传输。
可以使⽤简单的telnet程序来测试⼀个SMTP服务器。
如今绝⼤多数邮件服务器都使⽤该协议。
当你给别⼈发邮件时,你的服务器的某个动态端⼝(⼤于1024)就会和邮件服务器的25端⼝建⽴⼀个连接,你发送的邮件会通过这个连接传送到邮件服务器上,保存起来。
smtp服务器和pop3服务器是什么

smtp服务器和pop3服务器是什么SMTP 服务器和 POP3 服务器是什么在当今数字化的时代,电子邮件已经成为我们日常生活和工作中不可或缺的通信工具。
而在电子邮件的背后,有两个重要的服务器在默默工作,它们分别是 SMTP 服务器和 POP3 服务器。
这两个服务器对于电子邮件的发送和接收起着至关重要的作用。
那么,SMTP 服务器到底是什么呢?SMTP 全称为 Simple Mail Transfer Protocol,也就是简单邮件传输协议。
简单来说,SMTP 服务器的主要任务就是负责把我们编写好的电子邮件从我们的计算机或者移动设备发送出去,传送到收件人的电子邮箱服务器。
当我们在电子邮件客户端(比如常见的 Outlook、Foxmail 或者手机上的邮件应用)中点击“发送”按钮时,我们编写的邮件内容、附件、收件人地址等信息就会被打包成一个特定的格式,然后通过网络连接被发送到 SMTP 服务器。
SMTP 服务器就像是一个邮件的“快递员”,它会根据收件人的地址,找到对应的目标服务器,并将邮件传递过去。
SMTP 服务器在发送邮件的过程中,还需要遵循一系列的规则和流程,以确保邮件能够准确、快速地送达目的地。
比如,它需要对邮件的格式进行检查,确保符合电子邮件的标准规范;它还需要处理各种可能出现的错误情况,比如收件人的邮箱地址不存在、网络连接中断等等。
为了更好地理解 SMTP 服务器的工作原理,我们可以想象一下寄信的过程。
我们把写好的信投入邮筒,然后邮局的工作人员会把信件收集起来,按照收件人的地址进行分类和运输。
SMTP 服务器就相当于这个邮局,它负责把我们的电子邮件“收集”起来,并“运输”到正确的地方。
接下来,再让我们了解一下 POP3 服务器。
POP3 全称为 Post Office Protocol 3,即邮局协议版本 3。
与 SMTP 服务器负责发送邮件不同,POP3 服务器主要用于接收邮件。
当我们使用电子邮件客户端来查看收件箱中的邮件时,客户端会首先与 POP3 服务器建立连接。
《互联网基础与应用》综合练习题及答案

“互联网基础与应用”综合练习题参考答案一、填空题1.Internet是由世界范围内数量众多的_计算机网络_互连而成的全球性的、开放的网络。
2.Internet由以下几部分组成:通信线路、路由器、主机和_信息资源_。
3.Internet的基本工作模式采用_客户机/服务器__的模式。
4.Internet的国际管理者是_因特网协会(Internet Society,ISOC)_,Internet的中国管理者是_中国互联网络信息中心(China Internet Network Information Center,简称CNNIC)_。
5.网络协议由3个要素组成,分别是_语法_、_语义_和_时序_。
6.TCP/IP网络的层次结构模型分为四层,分别是_网络接口层_、_网络层_、_传输层_和_应用层_。
7.Internet通信的基础协议是_TCP/IP_协议,其对应于OSI参考模型的传输层协议是_传输控制协议(Transmission Control Protocol,TCP)_协议,对应于OSI参考模型的网络层协议是_网际协议(Internet Protocol,IP)_协议。
8.域名服务器是一个安装有_域名解析_处理软件的主机,它的功能是_将主机域名映射成主机的IP地址_。
9.当前,Internet面临着各种安全威胁,其中最主要的威胁包括:网络攻击、计算机病毒、垃圾邮件和灰色软件。
10.WWW的核心部分是由三个标准构成的,分别是:统一资源定位符(URL)、超文本传送协议(HTTP)和超文本标记语言(HTML)。
11.搜索引擎通常包括三个组成部分,分别是_ Web蜘蛛、数据库和搜索工具_。
12.电子邮件服务器通常有两种类型,分别是_“发送邮件服务器”(SMTP服务器)和“接收邮件服务器”(POP3服务器或IMAP服务器)_。
13.FTP客户程序主要有三种类型,分别是_ FTP命令行程序、WWW浏览器和FTP客户端程序_。
POP3与SMTP协议

POP3协议POP3,全名为“Post Office Protocol - Version 3”,即“邮局协议版本3”。
是TCP/IP协议族中的一员,由RFC 1939 定义(见 Reference/rfc1939 pop3.html)。
本协议主要用于支持使用客户端远程管理在服务器上的电子邮件。
提供了SSL加密的POP3协议被称为POP3S。
使用telnet 连接pop3最直观的了解什么是POP3,我觉得采用telnet的方式用pop3连接到邮件服务器,进行邮件的接收是最有效的。
打开终端,(C:client, S:Server)C: telnet 110 (用telnet方式连接163的pop3服务器,pop3协定端口为110)S: Trying 202.108.5.100...Connected to .Escape character is '^]'.+OK Welcome to coremail Mail Pop3 Server(163coms[3d8c1fa079729fb6acc588e66d30360es])(服务器通常开头返回+OK表示正确的回应,+ERR表示所发命令有误)C: USER ***** (***处输入你的邮件用户名)S: +OK core mail (表示接受)C: PASS ***** (***处输入密码,这里都是明文显示)S: +OK 5 message(s) [9782 byte(s)] (这里表示服务器接受该帐户,服务器上对应有5封邮件,总大小9782个字节)C:LIST (LIST 命令列出每一封邮件的信息,己每封邮件对应的ID 号和大小)S: +OK 5 97821 12982 13113 12244 13125 4637.C: TOP 1 0 (格式 TOP num 0, num代表邮件ID号,返回该邮件的头部信息)S:+OK 1298 octets (服务器接受)Received: from (unknown [221.10.25.6])(返回的相关内容)by smtp1 (Coremail) with SMTP id C9GowLCLsyoRy_JI5Ci2Mg==.42306S2;Mon, 13 Oct 2008 12:14:10 +0800 (CST)Date: Mon, 13 Oct 08 12:14:09 +0800 (CST)From: tommy_mail@To: tommy_mail<tommy_mail@>Subject: @@!$$%^&MIME-Version: 1.0Content-Type: multipart/alternative; boundary="=-plenware_alt_"X-Coremail-Antispam: 1Uf129KBjDUn29KB7ZKAUJUUUUUYxn0WfASr-VFAUDa7-sFnT9fnUUIcSsGvfJTRUUUjlxYjsxI4VWxJwAYFVCjjxCrM7AC8VAFwI0_Jr0_Gr1l1I0E4x80FVCIwcAKzIAtM7C26IkvcIIF6IxKo4kEV4yl1IIY67AEw4v_Jr0_Jr4l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20xvE14v26r1Y6r17McIj6I8E87Iv67AKxVW8JVWxJwACY4xI67k04243AVAKzVAKj4xxM4xvF2IEb7IF0Fy26I8I3I1lFVAaXTZC67ZELSn0mTvEwaV2v3VFvVW8M4IE42xK82IY64kIx2x0424lw4CEF2IF47xS0VAv8wAKzVCY07xG64k0F24l7I0Y64k_MxkFs20EY4vE77kJMxkIecxEwVAFwVW8XwCY0x0Ix7I2Y4AK64vIr41l4x8a6c8ajcxJMI8E67AF67kF1VAFwI0_Jr0_JrylIxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Jr0_Gr1lIxAIcVC2z280aVAFwI0_Gr0_Cr1lIxAIcVC2z280aVCY1x0267AKxVW8JVW8Jr1l6VACY4xI67k04243AbIYCTnIWIevJa73UjIFyTuYvjxUyYZXDUUUUMessage-Id: <48F2CB12.33901D.26072@>.C: RETR 2 (格式 RETR num, num为邮件ID号,返回邮件全部源码)S: +OK 1311 octetsReceived: from (unknown [221.10.25.6])by smtp4 (Coremail) with SMTP id DtGowLCrK4xUyvJIJeKfLg==.58545S2;Mon, 13 Oct 2008 12:11:00 +0800 (CST)......--=-plenware_alt_--.C: NOOP (空操作,起延时作用,服务器会在一定时间内无操作的话自动退出)S: +OK core mailC: UIDL (邮件的唯一ID,通常称“独立-ID表”,用于唯一确定一封邮件,通常用于客户端判别已读未读)S: +OK 5 97821 1tbiYAaMeEJw1XtwEgAAss (由服务器产生的邮件唯一ID,RFC文档上说是服务器内唯一,但估计说成全球唯一也不为过)2 1tbiYAeMeEJw1XtoyQAAsu3 1tbiYRaMeEJw2LVItgAAsi4 1tbiwQqMeEij15ERZQAAsm5 1tbiwReMeEij15EzUgAAsu.C: QUIT (退出命令)S: +OK core mailConnection closed by foreign host.-------------------------------------------------------------------------------------------------------------------------*更加详细的关于telnet的描述可参看 Reference/telnet 操作 smtp pop.htmlPOP3协议的状态和相关命令POP3有三种状态:a) The AUTHORIZATION State当一个TCP连接从客户端连接到服务器以后,就进入了这个状态。
SMTP及POP3协议分析

SMTP及POP3协议分析
SMTP(Simple Mail Transfer Protocol)和POP3(Post Office Protocol 3)是两种常用的电子邮件协议,用于发送和接收电子邮件。
本
文将从协议的定义、工作原理、特点和使用场景等方面进行分析。
一、SMTP协议:
SMTP协议定义了发送邮件的标准规范,主要用于邮件的发送、转发
和投递,是目前应用最广泛的邮件传输协议之一
1.工作原理:
SMTP协议基于传输控制协议(TCP)来进行通信,端口号为25,默认
使用明文传输。
邮件发送方通过SMTP客户端将邮件发送到SMTP服务器上,然后SMTP服务器根据邮件头部信息解析邮件内容,查找目标服务器并进
行中转或投递给目标服务器。
2.特点:
(2)支持多种验证方式,如口令验证、加密验证等,提高了邮件的
安全性。
(3)支持邮件的回执和重试功能,可保证邮件的可投递性。
(4)提供了邮件的分组功能,可以将多份邮件打包发送。
3.使用场景:
(1)企业内部邮件的发送和传递。
(2)通过邮件账号发送公告、通知等大批量邮件。
(3)与客户端邮件程序结合,提供发送邮件的功能。
二、POP3协议:
1.工作原理:
2.特点:
(2)只支持单一用户操作,不支持同时多用户在线。
3.使用场景:
(2)使用POP3协议在不同的邮件客户端之间同步邮件数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一部分邮件传输协议SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)定义了邮件客户端软件与SMTP服务器之间,以及两台SMTP服务器间的通信规则。
SMTP服务器之间的通信规则。
SMTP协议中一共定义了18条命令,发送一封电子邮件的过程通常只需要使用其中6条命令,表1中按照发送命令的先后顺序列出了这6条命令,并描述了其语法格式及功能说明,其中,<SP>代表空格,<CRLF>代表回车和换行。
表1SMTP命令及格式说明ehlo<SP><domain><CRLF> ehlo命令是SMTP邮件发送程序与SMTP邮件接收程序建立连接后必须发送的第一条SMTP命令。
参数<domain>表示SMTP邮件发送者的主机名。
ehlo命令用于替代传统SMTP协议中的helo命令auth<SP><para><CRLF> 如果SMTP邮件接收程序需要SMTP邮件发送程序进行认证时,它会向SMTP邮件发送程序提示它所采用的认证方式,SMTP邮件发送程序接着应该使用这个命令回应SMTP邮件接收程序,参数<para>表示回应的认证方式,通常是SMTP邮件接收程序先前提示的认证方式。
mail<SP>from:<reverse-path><CRLF> 此命令用于指定邮件发送者的邮箱地址,参数<reverse-path>表示发件人的邮箱地址。
rept<SP>to:<forword-path><CRLF> 此命令用于指定邮件接收者的邮箱地址,参数<forword-path>表示接收者的邮箱地址。
如果邮件要发送多个接收者,那么应使用多条rept<SP>to命令来分别指定每一个接收者的邮箱地址。
data<CRLF> 此命令用于表示SMTP邮件发送程序准备开始传送邮件内容,在这个命令后面发送的所有数据都将被当做邮件内容,直至遇到“<CRLF>.<CRLF>”标志符,则表示邮件内容结束。
quit<CRLF> 此命令表示要结束邮件发送过程,SMTP邮件接收程序接收到此命令后,将关闭与SMTP邮件发送程序的网络连接。
对于SMTP邮件发送程序发送的每一条命令,SMTP邮件程序接收程序都将回应一条响应信息。
每条响应信息都以一个响应状态码开发如下所示:250 ok响应状态吗用于表示SMTP服务器对请求命令的处理结果和状态,它是一个三位的十进制数。
响应状态码的最高位数字代表了不同的分类,当其为2时表示命令执行成功,为5时表示命令执行失败。
为3时表示命令没有完成。
动手实践:借助telnet程序手工发送邮件1)在sina()中申请两个电子邮件地址,笔者在使用的两个邮箱分别为jspdevelop@和fpwjp@,第一个邮箱的登录为:javamail,读者应注册自已的电子邮箱进行实验。
2)要给某个SMTP服务器发送邮件,首先要获知该SMTP服务器的主机名,其中新浪的SMTP服务器主机名为 25。
3)当SMTP服务器要对邮件客户端软件进行用户身份验证时,邮件客户端软件需要对用户名和密码进行BASE64编码后再传递给SMTP服务器,因此要编写一个能对用户名和密码进行BASE64编码的工具程序。
下面是用Java 语言编写的一个对用户名和密码分别进行BASE64编码的工具程序。
例:BASE64Util.javaimport java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import sun.misc.BASE64Encoder;class BASE64Util{public static void main(String[] args) throws IOException{System.out.println("请输入用户名:");BufferedReader in=new BufferedReader(new InputStreamReader(System.in));String userName=in.readLine();System.out.print("请输入密码:");String password=in.readLine();BASE64Encoder encoder=new BASE64Encoder();System.out.println("编码后的用户名为:"+encoder.encode(userName.getBytes()));System.out.println("编码后的密码为:"+encoder.encode(password.getBytes()));}}启动windows命令行窗口,编译并运行这个Java程序,接着根据程序的提示输入已注册的sina邮箱的用户名和密码。
如图1-1所示。
图1-14)重新开启一个windows命令行窗口,使用telnet命令连接到sina的SMTP服务器的25号端口,即在命令行窗口中输入如下一行内容。
telnet 25该命令的正常执行结果如图1-2所示。
图1-2图1-2中显示的内容是服务器返回给客户端的响应信息,其中包含三部分内容,各部分的意义如下:●220是邮件服务器返回给客户的响应状态码,它表示邮件服务器准备就绪(service ready)。
●表示当前进行的响应的邮件服务器的主机名。
●ESMTP表示当前邮件服务器支持扩展SMTP协议。
5)SMTP发送者程序与SMTP接收者程序建立连接后,接着应该使用ehlo命令向SMTP接收程序发送问候信息。
由于当前运行Telnet程序的计算机根本就没有在Internet上注册的主机名,所以这里随便使用一个名称(jspdevelop)来表示ehlo 命令中主机名。
发送ehlo命令后,邮件服务器返回如图1-3所示的结果。
图1-36)在图1-3中接着输入如下一行命令:auth loginSMTP服务器返回如图1-4所示的响应信息。
图1-4SMTP服务器返回的响应状态码为334,它表示SMTP服务器正在等待客户端输入认证信息。
这时将命令行窗口中,选中经过BASE64编码后得到的用户名,复制过来,然后将BASE64编码的密码复制过来,完成认证后的结果如图1-5所示。
图1-57)接着输入mail from命令,将邮件发送者的地址填写为在sina上注册的邮箱地址jspdevelop@,执行效果如图1-6所示。
mail from:<jspdevelop@>邮件服务器返回一个250的响应状态码,代表当前操作执行成功。
图1-6注意:SMTP协议不要求SMTP邮件接收服务器对mail from命令后面输入的邮件地址进行验证,也就是说,mail from命令后面的邮件地址可以不是发件人的真实邮箱地址,而可以是其他人的邮箱地址。
8)接着输入rept to命令,将邮件接收者的地址填写收件的邮箱地址fpwjp@,执行效果如图1-7所示:rept to:<fpwjp@>图1-7邮件服务器返回一个250的响应状态码,代表当前操作执行成功。
SMTP协议允许在一个连接通道中执行多条rept to 命令,每一条命令分别指定一个邮件接收者,这样就可以把一封邮件同时发送给多个发收件人。
如果图9)接着输入data命令,表示后面将传送邮件内容。
邮件服务器返回354的响应状态码,并等待客户端输入邮件内容。
接着输入邮件内容。
最后在单独的一行上输入一个“.”作为邮件内容的结束标记,如图1-8所示。
图1-810)接着输入quit命令,结束整个邮件的传输过程。
SMTP服务器接收到客户端发送的quit命令后,将断开与客户端的网络连接,Telnet程序结束运行,windows命令行窗口退回到DOS提示符状态。
11)登录到fpwjp邮件中来查看刚才发送的邮件。
使用OutLook Express收取这封邮件的效果如图1-9所示。
图1-9第二部分POP3协议POP3(Post Office Protocol)协议定义了邮件客户端程序与POP3服务器进行通信。
POP3协议,它采用的网络监听端口号默认为110。
POP3协议共定义了12条POP3命令,邮件客户端程序通过这些命令检索和获取用户电子邮箱中的邮件信息。
表2中列举出了这12条POP3命令及其说明,其中,<SP>代表空格,<CRLF>代表回车和换行。
表2命令及其使用格式说明user<SP>username<CRLF> user命令是POP3客户端程序与POP3邮件服务器建立连接通常发送的第一条命令,参数username表示收件人账户名称。
pass<SP>password<CRLF> Pass命令是在user命令成功通过后,POP3客户端程序接着发送的命令,它用于传递账户的密码,参数password表示账户的密码。
apop<SP>name.digest<CRLF> Apop命令用于替代user和pass命令,它以MD5数字摘要的形式向POP3邮件服务器提交账户密码。
stat<CRLF> stat命令用于查询邮箱中的统计信息,例如,邮箱中有邮件数和邮件占用的字节大小等。
uidl<SP>msg#<CRLF> uidl命令用于查询某封邮件的唯一标志符,参数msg#表示邮件的序号,是一个1开始编号的数字。
list<SP>[msg#]<CRLF> List命令用于列出邮箱中邮件信息,参数msg#是一个可选参数,表示邮件的序号。
当不指定参数时,POP3服务器列出邮箱中所有的邮件信息,当指定参数msg#时,POP3服务器只返回该号对应的邮件的信息。
rert<SP>msg#<CRLF> list命令用于获取某封邮件的内容,参数msg#表示邮件的序号。
dele<SP>msg#<CRLF> Dele命令用于在某封邮件上设置删除标记,参数msg#表示邮件的序号。
POP3服务器执行dele命令时,只是为邮件设置了删除标记,并没有真正把邮件删除掉,只有POP3客户端程序发出quit命令后,POP3服务器才会真正删除所有设置了删除标记的邮件rset<CRLF> rset命令用于清除所有邮件的删除标记top<SP>msg#<SP>n<CRLF> Top命令用于获取某封邮件的邮件头和邮件体中前n行内容,参数msg#表示邮件的序号,参数n表示要返回邮件的前几行内容。