SMTP 是一种提供可靠且有效电子邮件传输的协议。 SMTP 是建模在 FTP 文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供来信有关的通知。
SMTP 独立于特定的传输子系统,且只需要可靠有序的数据流信道支持。 SMTP 重要特性之一是其能跨越网络传输邮件,即“ SMTP 邮件中继”。通常,一个网络可以由公用互联网上 TCP 可相互访问的主机、防火墙分隔的 TCP/IP 网络上 TCP 可相互访问的主机,及其它 LAN/WAN 中的主机利用非 TCP 传输层协议组成。使用 SMTP ,可实现相同网络上处理机之间的邮件传输,也可通过中继器或网关实现某处理机与其它网络之间的邮件传输。
在这种方式下,邮件的发送可能经过从发送端到接收端路径上的大量中间中继器或网关主机。域名服务系统(DNS)的邮件交换服务器可以用来识别出传输邮件的下一跳 IP 地址。
SMTP端口号是多少?
25 25是SMTP端口,110是POP端口。
SMTP是一种请求响应协议,客户端发送命令,服务器返回响应,两者通过这种方式进行交互,以完成邮件传输过程的三个阶段:建立连接、传输数据和终止连接。
客户端主动连接到服务器的25端口,建立TCP连接。服务器会发送一个应答码为220的问候报文,表示已经准备就绪。
客户端向服务器发送HELO命令,用以标识发送方的身份,HELO命令的参数必须是一个合法的主机名。如果服务器接受了连接请求,会给客户端返回一个代码为250的应答,表示可以开始报文传输。
客户端发送MAIL命令标识邮件的发送方,通过FROM参数指定发送方的电子邮件地址。如果服务器准备接收邮件,则返回代码为250的OK应答。
客户端发送RCPT命令标识邮件的接收方,通过TO参数指定接收方的电子邮件地址,如果有多个接收人,可以发送多个RCPT命令。如果服务器能够识别接收人,则会返回代码为250的OK应答,否则返回代码为550的失败应答。
客户端与服务器之间的协商结束,客户端发送DATA命令指示将要发送邮件数据,服务器端返回应答码为354的响应进行确认,表示可以开始邮件输入。客户端将邮件内容按行发送,邮件的末尾由客户端指定,是只有一个小数点(邮件数据结束指示器)的一行,服务器检测到邮件数据结束指示器后,返回代码为250的OK应答。
客户端发送QUIT命令终止连接。
SMTP命令和FTP命令一样,都是使用NVT ASCII格式的文本,以明文传输的。SMTP简捷的原因之一是它使用的命令少,SMTP的最小实现仅需要8种命令就够了。
常用SMTP命令一览表
命令 描述
HELO 用于启动邮件传输过程
MAIL FORM 用于初始化邮件传输
RCPT TO 用于标识单个邮件接收人,在MAIL命令后面可有多个RCPT命令
DATA 用于将邮件报文发送给服务器
QUIT 用于终止客户端与服务器之间的连接
RSET 用于中止当前的邮件事务并使两端复位
VRFY 用于验证指定的用户/邮箱是否存在,即验证接收方地址是否正确 NOOP 空操作命令
HELO命令:该命令是客户用来标识自己而使用的,其变量是客户主机的域名。例如 HELO:smtp.bjut.edu.cn
MAIL FROM命令:该命令是客户用来标识发信人而使用的,它的变量是发信人的电子邮件地址。例如 MAIL FROM:wangqm@bujt.edu,cn
RCPT TO命令:该命令是客户用来标识预期的收信人而使用的,它的变量是收信人的电子邮件地址。若有多个收信人,则命令要重复使用。例如 RCPT TO:xiaolizi@bujt.edu.cn
DATA命令:该命令是客户用来发送真正的报文。在DATA命令后面所有的行都被当作是邮件报文。报文的终止是只包含一个点的行。例如
DATA This is the message to be sent to the company QUIT命令:结束报文。例如 QUIT
RSET命令:该命令使当前的邮件事务异常中止,所存储的关于发信人收信人的信息都被删除,连接将被复位。例如 RSET
VRFY命令:该命令用来验证收信人的地址,它作为变量发送出去。发送端可以请接收端证实一个名字是否标识一个有效的收信人。例如 VRFY:wangqm@bjut.edu.cn NOOP命令:该命令由客户使用,用来检查收信人的状态,它需要收信人的回答。例如 NOOP 对于这些命令的顺序有一定的限制。对话的第一个命令必须是HELLO命令,此命令在此后的会话中也可以使用。如果HELLO命令的参数不可接受,必须由返回一个501失败应答,同时接收到的SMTP必须保持在与刚才一致的状态下。
saka.dlut.edu.cn# telnet mail.foo.com 25
Trying 192.168.1.4...
Connected to here.foo.com.Escape character is '^]'.
220 here.foo.com ESMTP Sendmail 8.8.8/8.8.8; Sat, 14 Mar 1998 21:28:41 -0500 (EST)
HELO
saka.dlut.edu.cn
250 here.foo.com
Hello root@saka.dlut.edu.cn [192.168.1.3], pleased to meet you
MAIL FROM: root@saka.dlut.edu.cn
250 root@saka.dlut.edu.cn...
Sender ok
RCPT TO: hollingd@foo.com250 hollingd...
Recipient ok
DATA
354 Enter mail, end with "." on a line by itself
Hi dave - this message is a test of SMTP.250 VAA07541 Message accepted for delivery
DATA
354 Enter mail, end with "." on a line by itself
Hi dave - this message is a test of SMTP....foo...250 VAA0771 Message accepted for delivery
•
最终信息:Hi dave - this message is a test of SMTP..foo.
POP3的连接过程
1) POP3命令及执行过程
假设用C表示客户端(Client),S表示服务器端(Server)。
客户端首先使用TCP与POP3服务器建立连接,连接成功后,服务器发送一个单行的确认信息,然后要求客户端发送用户名和密码进行确认,下面是客户端发送的命令:
①发送用户名。
格式:USER <用户名>
服务器返回:+OK用户名正确;-ERR用户名错误。
示例:C:USER myname@126.com S:+OK welcome on this server.
②发送密码 用户名确认成功后,客户端再发送密码。
语法形式:PASS <密码> 功能:将客户的密码发送给服务器。 服务器返回:+OK 表示密码正确; -ERR 表示密码错误。
示例:C:PASS ***** S:+OK myname logged in at 19:04 2) 服务器对用户名和密码验证成功后,客户端就可以发送POP3命令要求服务器执行相应的操作。对于每个命令,服务器都会返回应答信息。常用命令有:
①STAT命令 格式:STAT 功能:从服务器中获邮件总数和总字节数。 服务器返回:邮件总数和总字节数。
示例:C:STAT S:+OK 2 320
②LIST命令 格式:LIST 功能:从服务中获得邮件列表和大小。 服务器返回:列出邮件列表和大小。
示例:C:LIST S:+OK 2 messages (320 octets) S:1 120 S:2 200 S: . 注意,“.”单独占一行。
③RETR命令 格式:RETR <邮件的序号> 功能:从服务器中获得一个邮件。 服务器返回:+OK成功;-ERR错误。
示例:C: RETR 1 S:+OK 120 octets S:<服务器发送信件1内容> S: . 注意,“.”单独占一行。
④DELE命令 语法形式:DELE <邮件的序号> 功能:服务器将邮件标记为删除,当执行QUIT命令时才真正删除。 服务器返回:+OK成功;-ERR错误。
示例:C:DELE 1 S:+OK 1 Deleted
⑤QUIT命令 格式:QUIT 功能:关闭与服务器的连接。 服务器返回:+OK;-ERR。 示例:C:QUIT S:+OK 然后服务器自动断开与该客户端的连接。
分享到:
相关推荐
### SMTP协议简介 (Simple Mail Transfer Protocol) SMTP协议是互联网上用于传输电子邮件的标准协议之一,它在TCP/IP协议簇中占有重要地位。SMTP协议定义了一系列规则和命令,使得邮件客户端能够将邮件发送到邮件...
SMTP的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转...
SMTP协议简介: SMTP 的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台...
SMTP 的全称是“Simple Mail Transfer Protocol”,即简单邮件传输协议。它是一组用于从源地址到目的地址传输邮件的规范,通过它来控制邮件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转...
网络协议:电子邮件使用SMTP(Simple Mail Transfer Protocol)作为发送邮件的协议,而POP3(Post Office Protocol version 3)或IMAP(Internet Message Access Protocol)则用于接收邮件。这些协议定义了电子邮件...
RFC821,全称是“简单邮件传输协议”(Simple Mail Transfer Protocol),是互联网标准之一,定义了邮件服务器之间交换邮件的方式。该协议规定了客户端如何向服务器发送邮件,以及服务器如何将邮件传递到目标服务器...
- This Asset is easy to implement the ability to send mail by using the Simple Mail Transfer Protocol (SMTP). - Mail is sent asynchronously. - You can cancel the transmission while transmitting. - You...
当用户发送电子邮件时,使用的协议是SMTP(Simple Mail Transfer Protocol)。SMTP是TCP/IP网络模型中的一种应用层协议,用于传输电子邮件。 3. 直接封装IP数据包的协议 ICMP(Internet Control Message Protocol...
电子邮件系统也有其使用的传输协议,包括SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)、POP(Post Office Protocol,邮局协议)和IMAP(Internet Message Access Protocal,消息访问协议)等,这些协议...
4. SMTP(Simple Mail Transfer Protocol):简单邮件传输协议,用于电子邮件传输。 5. HTTP(Hypertext Transfer Protocol):超文本传输协议,是用于传输超文本文档(例如HTML)的应用层协议。 6. TELNET:远程...
SMTP(Simple Mail Transfer Protocol, 简单邮件传输协议)和POP3(Post Office Protocol 3,邮局协议3)两个协议可以实现将网络上一段文本信息从一台计算机传输到另一台计算机上。SMTP规定如何从源地址到目的地址...
3. SMTP(Simple Mail Transfer Protocol):SMTP用于发送邮件,是互联网上标准的邮件传输协议。MailServer提供SMTP服务,使得用户可以向其他邮件地址发送邮件,并确保邮件正确路由至目的地。 4. SNTP(Simple ...
在这个Java邮件系统中,开发者成功地实现了POP3(Post Office Protocol version 3)和ESMTP(Extended Simple Mail Transfer Protocol)协议。POP3协议主要用于下载邮件,用户可以在本地进行邮件查看和管理;而ESMTP...
(RFC821 SIMPLE MAIL TRANSFER PROTOCOL) 目录 1. 介绍 2 2. SMTP模型 3 3. SMTP过程 4 3.1. MAIL 4 3.2. 转发 5 3.3. 确认和扩展 6 3.4. 发送信件(mailing)和获得信件(sending) 7 3.5. 打开和关闭 7 3.6. 转发 8 ...
邮件系统通常基于SMTP(Simple Mail Transfer Protocol)进行邮件传输,而POP3(Post Office Protocol version 3)或IMAP(Internet Message Access Protocol)用于下载邮件。 **5. FTP (File Transfer Protocol)**...
[12]RFC 5321, Simple Mail Transfer Protocol. [13]RFC 2617, HTTP Authentication: Basic and Digest Access Authentication. [14]RFC 2616, Hypertext Transfer Protocol -- HTTP/1.1. [15]RFC 3986, Uniform ...
SMTP(Simple Mail Transfer Protocol)服务器是发送邮件的服务器,而FTP(File Transfer Protocol)站点的访问需要使用ftp://开头的地址。 在网络通信中,全双工通信允许数据在两个方向上同时传输。数据报操作特点...
4. SMTP (Simple Mail Transfer Protocol):TCP 25端口,用于邮件的发送。是互联网上电子邮件传输的标准。 5. TACACS:TCP 49端口,Cisco的认证、授权和计费协议,主要用于网络设备的管理。 6. DNS (Domain Name ...