电子邮件是Internet上最广泛的应用之一,尽管网络上有多种邮件收发服务,但最常用的还是SMTP,SMTP就是简单邮件传输协议(Simple Mail Transfer Protocol)。传统的SMTP使用简单的协议传输7位ASCII文本字符,它还有一种扩展形式,称为ESMTP,允许扩展协商,它包括8位的传输。这样,它不仅能够传输二进制的数据,还可以传输非ASCII字符集。一会儿,我们将用SMTP命令模拟发送邮件,但现在让我们先去了解一下SMTP协议的参数吧!
参数
|
作用
|
HELO
|
使用标准的
SMTP
,向服务器标识用户身份。发送者能进行欺骗,但一般情况下服务器都能检测到
|
EHLO
|
使用
ESMTP
,向服务器标识用户身份。发送者能进行欺骗,但一般情况下服务器都能检测到。
|
STARTTLS
|
启用
TLS
|
MAIL FROM
|
命令中指定的地址是发件人地址
|
RCPT TO
|
标识单个的邮件接收人;可有多个
RCPT TO
;常在
MAIL
命令后面
|
DATA
|
在单个或多个
RCPT
命令后,表示所有的邮件接收人已标识,并初始化数据传输,以
CRLF.CRLF
结束
|
VRFY
|
用于验证指定的用户
/
邮箱是否存在;由于安全方面的原因,服务器常禁止此命令
|
EXPN
|
验证给定的邮箱列表是否存在,扩充邮箱列表,也常被禁用
|
HELP
|
查询服务器支持什么命令
|
NOOP
|
无操作,服务器响应
250 OK
|
RSET
|
重置会话,当前传输被取消,服务器响应
250 OK
|
QUIT
|
结束会话
|
以上参数为常用参数,明白它们的作用,现在我们来做一个实例吧!让我们利用SMTP命令,先向邮件服务器发送一封电子邮件。Internet上有些邮件服务器都支持这种方法去模拟身份发邮件呀,大家可以试一试。
1.
首先我们TELNET上邮件服务器
2.然后输入以下命令
3. 验证邮件是否收到
本文转自 tianjinhm 51CTO博客,原文链接:
http://blog.51cto.com/hanmei/143871