SMTP协议是互联网标准的电子邮件传输协议。 在客户端级别,通常用于发送电子邮件。
SMTP协议是一种基于文本的传输协议,使用有限的命令和响应代码在服务器和客户端之间进行
通讯。 作为APP应用层的协议,SMTP协议使用TCP协议的25个端口进行通信。
基本SMTP命令:
HELO
HELO,用于向服务器发送标识发件人
梅尔弗洛姆
用于指定发件人电子邮件地址的MAIL FROM:
RCPT TO
用于指定收件人emai地址的RCPT TO:
数据
DATA,用于开始实际数据发送
回复
RSET用于丢弃此次smtp会话事务,以及已在此次会话中保存的sender、receipents和邮件数据。
VRFY
用于提示收件人确认字符串参数的VRFY
帮助
获取帮助信息的帮助[ ]。
QUIT
QUIT,为了结束smtp会话
扩展的SMTP命令:
EHLO
HELO,与HELO相同,但告诉服务器使用扩展的SMTP协议
自动
用于指定认证方式的邮件
STARTTLS
指定使用加密连接的STARTTLS
大小
SIZE通知客户端最大邮件大小
MAIL FROM: SIZE,用于通知发送到服务器端的邮件
SMTP响应:
SMTP响应具有三位数的响应代码和接在其后的说明文本。
smtp的响应代码:
211 System status,or system help reply
214帮助消息
[ informationonhowtousethereceiverorthemeaningofa ]
参数非标准命令; this reply is useful only
to the human user]
20服务领导
21服务闭环变速箱
250要求的邮件操作键,completed
251用户不本地; 世界末日到
354开始邮件输入; 结束。
421服务不可用,
关闭传输通道
[ thismaybeareplytoanycommandiftheserviceknowsit ]
must shut down]
450 requestedmailactionnottaken : mailbox unavailable
[E.g .mailbox busy]
451 requestedactionaborted :本地处理
452 requestedactionnottaken :信息系统存储
500同步错误,命令未注册
[ thismayincludeerrorssuchascommandlinetoolong ]
501 syntaxerrorinparametersorarguments
502命令不输入
503 Bad sequence of commands
504命令参数化
50 requestedactionnottaken : mailbox unavailable
[E.g .mailbox not found,no access]
551用户不本地; 播放目录
52 requestedmailactionaborted 3360 exceedstorageallocation
53 requestedactionnottaken : mailboxnamenotallowed
[E.g .mailbox syntax incorrect]
554传输失败
SMTP AUTH方式:
LOGIN:
PLAIN:
CRAM-MD5:
SMTP加密连接: