您的位置:首页 > 编程语言 > PHP开发

邮件开发:SMTP协议详解

2016-01-07 09:48 561 查看
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邮件接收程序先前提示的认证方式。【PLAIN/LOGIN/】

Mail<SP>From:<reverse-path><CRLF>

此命令用于指定邮件发送者的邮箱地址,参数<reverse-path>表示发件人的邮箱地址。【可以不是自己的邮箱地址,可以伪装】

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

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

Data<CRLF>

此命令用于表示SMTP邮件发送程序准备开始传送邮件内容,在这个命令后面发送的所有数据都将被当作邮件内容,直至遇到“<CRLF>.<CRLF>”标识符,则表示邮件内容结束。

Quit<CRLF>

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

Ehlo相当与helo2,sina的smtp服务通讯的客户端有两种类型,一种是普通用户,一种是其他邮件服务器,sina的smtp服务器要区分出这两种客户,对普通用户要询问密码,对其他邮件服务器则不要密码,以mail.csdn.net做个实验看看。

输入命令时,特别是email地址,要用<>括起来,不要按编程的习惯,先写完一对括号,再回来填写括号中的内容,这样发送给服务器的内容并不是你看到的内容,而是按你输入的顺序将字符逐一发送给服务器。

邮件阅读程序所显示的发件人和smtp协议中所使用的发件人可以不同的,就像信封上写的发件人和实际将信件投放给邮件的人可以不同,例如,我给你写的信,可以让我爱人去投递。作为邮件接收者来说,特别是一些重要的邮件,不要轻易相信阅读程序显示的发件人,例如,有人可以在mail
from和邮件内容中的from头中冒充你女朋友。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: