邮件传输协议

SMTP协议中一共定义了18条命令,发送一份电子邮件的过程同城只需要使用其中的6条命令。

SMTP命令及格式

说明

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>表示发件人的邮箱地址

rcpt<SP>To:<forword-path><CRLF>

此命令用于指定邮件接收者的邮箱地址,参数<forword-path>表示接收者的邮箱地址。如果邮件要发送给多个接收者,那么应使用多条rcpt<SP>To命令来分别制定每一个接收者的邮箱地址

data<CRLF>

此命令用于表示SMTP邮件发送程序准备开始传送邮件内容,直至遇到“<CRLF><CRLF>”标志符,则表示邮件内容结束

quit<CRLF>

此命令表示要结束邮件发送过程,SMTP邮件接收程序接收到此命令后,将关闭域SMTP邮件发送程序的网络连接

SMTP协议是一个基于TCP/IP的应用层协议,SMTP服务器默认的网络监听端口号为25。

POP3协议,采用的网络监听端口号默认为110.POP3协议定义了12条POP3命令,邮件客户端程序通过这些命令来检索和获取用户电子邮箱中的邮件信息。

命令及其使用格式

说明

user<SP>uername<CRLF>

user命令是POP3客户端程序与POP3邮件服务器建立连接后通常发送的第一条命令,参数username表示收件人的账号名称

pass<SP>password< CRLF >

pass命令是在user命令成功通过后,POP3客户端程序接着发送的命令,它用于传递账号的密码,参数password表露是账户的密码。

apop<SP>name,digest<CRLF>

apop命令用于替代userpass命令,它以MD5摘要的形式向POP3邮件服务器提交账户密码

stat<CRLF>

stat命令用于查询邮箱中的统计信息,例如,邮箱中有邮件数和邮件占用的字节大小等

uidl<SP>msg#<CRLF>

uidl命令用于查询某邮件的唯一标志符,,参数msg#表示邮件的序号,是一个从1开始编号的数字

list<SP>[msg#]<CRLF>

list命令用于列出邮箱中的邮件信息,参数msg#是一个可选参数,表示邮件的序号。当不指定参数时,POP3服务器列出邮箱中所有的邮件信息;当指定参数msg#时,POP3服务器只返回该序号对应的邮件的信息

retr<SP>msg#<CRLF>

retr命令用于获取某封邮件的内容,参数msg#表示邮件的序号

dele<SP>msg#<CRLF>

dele命令用于在某封邮件上设置删除标记,参数msg#表示邮件的序号。POP3服务器执行dele命令时,只是为邮件设置了删除标记,并没有真正把邮件删除掉,只有POP3客户端程序发出quit命令后,POP3服务器才会真正删除所有设置了删除标记的邮件

reset<CRLF>

reset命令用于清除所有邮件的删除标记

top<SP>msg#<SP>n<CRLF>

top命令用于获取某封邮件的邮件头和邮件体中的前n行内容,参数msg#表示邮件的序号,参数n表示要返回邮件的前几行内容。使用这条命令以提高Web Mail系统中的邮件列表显示的处理效率,因为这种情况下不需要获取每封邮件的完整内容,而是仅仅需要获取每封邮件头信息

noop<CRLF>

noop命令用于检测POP3客户端与POP3服务器的连接情况

quit<CRLF>

quit命令表示要结束邮件接收过程,POP3服务器接收到此命令后,将删除所有设置了删除标记的邮件,并关闭POP3客户端程序的网络连接

 


你可能感兴趣的:(pop3,smtp)