当前位置: 首页 > 后端技术 > PHP

SMTP协议初探

时间:2023-03-29 18:05:49 PHP

SMTP协议初探百度百科SMTP(SimpleMailTransferProtocol)即简单邮件传输协议。SMTP协议属于TCP/IP协议簇,帮助每台计算机在发送或传递信件时找到下一个目的地。通过SMTP协议指定的服务器,可以将E-mail发送到收件人的服务器,整个过程只需几分钟。SMTP服务器是遵循SMTP协议的外发邮件服务器,用于发送或中继外发电子邮件。(传送门)客户端与邮件服务器的交互过程连接并发送邮件的步骤如下:  (1)建立TCP连接;  (2)客户端发送HELO命令识别发送者身份,服务器发送OK为响应,表示准备接收;  (3)使用AUTH命令登录SMTP服务器,输入用户名和密码(用户名和密码必须进行base64加密);  (4)客户端发送MAIL命令进入发送  (5)客户端发送RCPT命令识别邮件的计划收件人,服务器响应OK;  (6)协商完成后,使用DATA命令发送;  (7)以“.”结尾,输入内容一起发送,  (8)要结束本次传输,请使用QUIT命令退出。PHPmailer发送示例2017-06-1614:29:13SERVER->CLIENT:220hello2017-06-1614:29:13CLIENT->SERVER:EHLOheqian-pc2017-06-1614:29:13SERVER->客户端:250-localhostHelloEHLOheqian-pc250-SIZE131072250-PIPELINING250-AUTHPLAINLOGIN250HELP2017-06-1614:29:13CLIENT->SERVER:AUTHLOGIN2017-06-1614:29:13服务器->客户端:334VXNlcm5hbWU=2017-06-1614:29:13客户端->服务器:2017-06-1614:29:13服务器->客户端:334UGFzc3dvcmQ=2017-06-1614:29:13CLIENT->SERVER:2017-06-1614:29:13SERVER->CLIENT:235认证成功2017-06-1614:29:13CLIENT->SERVER:MAILFROM:2017-06-1614:29:13服务器->客户端:250OK2017-06-1614:29:13客户端->服务器:RCPTTO:2017-06-1614:29:13服务器->客户端:250OK2017-06-1614:29:13客户端->服务器:数据2017-06-1614:29:13服务器->客户端:354结束数据.2017-06-1614:29:13客户端->服务器:日期:2017年6月16日星期五14:29:13+00002017-06-1614:29:13客户端->服务器:收件人:fage1151@qq.com2017-06-1614:29:13客户端->服务器:来自:=?utf-8?B?5piT6IGU5LqR?=2017-06-1614:29:13客户端->服务器:回复:=?utf-8?B?5piT6IGU5LqR?=<1151878751@qq.com>2017-06-1614:29:13客户端->服务器:主题:=?utf-8?B?5piT6IGU5LqR6aqM6K+B56CB?=2017-06-1614:29:13客户端->服务器:消息ID:2017-06-1614:29:13客户端->服务器:X-Mailer:PHPMailer5.2.23(https://github.com/PHPMailer/PHPMailer)2017-06-1614:29:13客户端->服务器:MIME版本:1.02017-06-1614:29:13客户端->服务器:内容-类型:多部分/替代;2017-06-1614:29:13客户端->服务器:边界=“b1_a2430819ef128b7b55181b6ebd2e021e”2017-06-1614:29:13客户端->服务器:内容传输编码:8位2017-06-1614:29:13CLIENT->SERVER:2017-06-1614:29:13CLIENT->SERVER:这是一个MIME格式的多部分消息。2017-06-1614:29:13客户端->服务器:2017-06-1614:29:13客户端->服务器:--b1_a2430819ef128b7b55181b6ebd2e021e2017-06-1614:29:13客户端->服务器:内容-类型:文本/纯文本;charset=utf-82017-06-1614:29:13客户端->服务器:内容传输编码:8位2017-06-1614:29:13客户端->服务器:2017-06-1614:29:13客户端->服务器:你好smtp2017-06-1614:29:13客户端->服务器:2017-06-1614:29:13客户端->服务器:2017-06-1614:29:13客户端->服务器:--b1_a2430819ef128b7b55181b6ebd2e021e2017-06-1614:29:13客户端->服务器:内容类型:文本/html;charset=utf-82017-06-1614:29:13客户端->服务器:内容传输编码:8位2017-06-1614:29:13客户端->服务器:2017-06-1614:29:13客户端->服务器:

Hellosmtp

2017-06-1614:29:13客户端->服务器:2017-06-1614:29:13客户端->服务器:2017-06-1614:29:13客户端->服务器:2017-06-1614:29:13客户端->服务器:--b1_a2430819ef128b7b55181b6ebd2e021e--2017-06-1614:29:13客户端->服务器:2017-06-1614:29:13客户端->服务器:。2017-06-1614:29:13服务器->客户端:250正常:排队为2017-06-1614:29:13客户端->服务器:退出2017-06-1614:29:13服务器->客户端:221bye跨邮件服务器之间的通信连接和投递步骤如下:(1)建立TCP连接;  (2)服务端发送HELO指令识别发送方身份,目标服务端回应OK,表示准备接收;  (3)服务器发送MAIL命令输入发送发件人邮箱地址,目标服务器回复OK;  (4)服务器发送RCPT指令识别邮件的计划收件人,目标服务器回复OK;  (5)协商完成后,使用发送DATA命令;  (6)以“.”结尾,输入内容一起发送,  (7)要结束本次传输,请使用QUIT命令退出。PHPmailer发送示例2017-06-1614:24:41SERVER->CLIENT:220hello2017-06-1614:24:41CLIENT->SERVER:EHLOheqian-pc2017-06-1614:24:41SERVER->CLIENT:250-localhostHelloEHLOheqian-pc250-SIZE131072250-PIPELINING250HELP2017-06-1614:24:41CLIENT->SERVER:MAILFROM:2017-06-1614:24:41服务器->客户端:250Ok2017-06-1614:24:41客户端->服务器:RCPTTO:2017-06-1614:24:41服务器->客户端:250好2017-06-1614:24:41客户端->服务器:数据2017-06-1614:24:41服务器->客户端:354结束数据.2017-06-1614:24:41客户端->服务器:日期:2017年6月16日星期五14:24:41+00002017-06-1614:24:41客户端->服务器:收件人:fage1151@qq.com2017-06-1614:24:41客户端->服务器:发件人:=?utf-8?B?5piT6IGU5LqR?=2017-06-1614:24:41客户端->服务器:回复:=?utf-8?B?5piT6IGU5LqR?=<1151878751@qq.com>2017-06-1614:24:41客户端->服务器:主题:=?utf-8?B?5piT6IGU5LqR6aqM6K+B56CB?=2017-06-1614:24:41客户端->服务器:消息ID:<6fc893187701010670b0d152b2d954f6@heqian-pc>2017-06-1614:24:41客户端->服务器:X-Mailer:PHPMailer5.2.23(https://github.com/PHPMailer/PHPMailer)2017-06-1614:24:41客户端->服务器:MIME-版本:1.02017-06-1614:24:41客户端->服务器:内容类型:多部分/替代;2017-06-1614:24:41客户端->服务器:边界=“b1_6fc893187701010670b0d152b2d954f6”2017-06-1614:24:41客户端->服务器:内容传输编码:8位2017-06-1614:24:41客户端->服务器:2017-06-1614:24:41客户端->服务器:这是MIME格式的多部分消息。2017-06-1614:24:41客户端->服务器:2017-06-1614:24:41客户端->服务器:--b1_6fc893187701010670b0d152b2d954f62017-06-1614:24:41客户端->服务器:内容-类型:文本/纯文本;charset=utf-82017-06-1614:24:41客户端->服务器:内容传输编码:8位2017-06-1614:24:41客户端->服务器:2017-06-1614:24:41客户端->服务器:你好smtp2017-06-1614:24:41客户端->服务器:2017-06-1614:24:41客户端->服务器:2017-06-1614:24:41客户端->服务器:--b1_6fc893187701010670b0d152b2d954f62017-06-1614:24:41客户端->服务器:内容类型:文本/html;charset=utf-82017-06-1614:24:41客户端->服务器:内容传输编码:8位2017-06-1614:24:41客户端->服务器:2017-06-1614:24:41客户端->服务器:

你好smtp</h1>2017-06-1614:24:41客户端->服务器:2017-06-1614:24:41客户端->服务器:2017-06-1614:24:41客户端->服务器:2017-06-1614:24:41客户端->服务器:--b1_6fc893187701010670b0d152b2d954f6--2017-06-1614:24:41客户端->服务器:2017-06-1614:24:41客户端->服务器:.2017-06-1614:24:41服务器->客户端:250正常:排队为2017-06-1614:24:41客户端->服务器:退出2017-06-1614:24:41服务器->客户端:221Bye如何查看邮件服务器到网易MX服务器的SMTP记录?有没有发现邮件服务器与客户端和邮件服务器之间的协议如此相似。它们之间有什么区别。一般情况下,客户端与服务器的交互是通过域名实现的,例如:smtp.qq.com、smtp.163.com、smtp.sina.cn,邮箱服务器之间的邮件往来记录通常是通过mx后缀的邮件来完成。如何查看邮件服务器的mx记录

猜你喜欢