SMTP邮件发送协议的简单介绍

一、SMTP协议的作用

       把一封邮件从一个邮箱发送给其他人的邮箱。

       SMTP是属于客户端和服务器模式。

 

二、端口号

   1、明文不安全模式

        SMTP服务器默认监听在TCP协议的25或者587端口号。

   2、安全的smtps协议

       SMTPS服务器默认监听在TCP协议的465端口号。

 

三、发邮件的必要条件

  1、自己要存在一个邮箱账号。

  2、需要知道收件人的邮箱账号。 

  3、需要按照协议格式填充邮件内容。

 

四、主要过程

  1、建立连接,握手成功。

  2、认证身份。

  3、传输邮件给服务器。

  4、通信结束。

 

五、命令和结果返回格式

    1、客户端通过发送命令来控制服务器。

     命令格式:

命令名 空格 可选参数 \r\n

   如果没有参数,那么后面不加空格。

 

    2、服务器返回执行结果。

   2.1、单行结果格式:

3位数字码  空格  消息字符串 \r\n

 案例:

220 准备完毕\r\n

 

  2.2多行结果格式:

   如果有下一行的格式:

3位数字码  -  消息字符串 \r\n

   如果没有下一行的格式:

3位数字码  空格  消息字符串 \r\n

  案例:

250-第一行\r\n

250-第二行\r\n

250-第三行\r\n

250 最后一行\r\n

 

六、通信细节

 (一)连接和握手

  1、客户端用TCP协议连接服务端的25端口

    属于没有加密的。

    一般的邮件服务器用TLS加密,例如"smtp.qq.com"。

 

   2、发送下列命令

  EHLO 空格 客户端主机域名或者IP\r\n

  服务端回复250消息。

 

 (二)认证身份

   1、客户端发送下列命令

AUTH LOGIN\r\n

  2、服务端回复需要邮箱号

334 空格 base64格式的字符串\r\n

  3、客户端发送用户名(邮箱号)

客户端邮箱号的base64字符串\r\n

  4、服务端回复需要密码

334 空格 base64字符串\r\n

 5、客户端发送密码

密码的base64字符串\r\n

  6、服务端返回235响应代表成功。

   否则失败。

 

 (三)邮件正文发送

    1、发送发件人邮箱号

   命令如下:

MAIL FROM:<发送人邮箱号>\r\n

  案例:

MAIL FROM:<23344@qq.com>\r\n

  服务器返回250响应。

 

   2、发送收件人邮箱号

   格式如下:

RCPT TO:<收件人邮箱>\r\n

   案例:

RCPT TO:<fhhh@163.com>\r\n

 

  3、发送通知数据接收命令

    发送DATA命令通知服务器开始读取正文:

DATA\r\n

   服务器返回354响应。

 

  4、客户端发送邮件内容

   内容以单独一行的字符"."结束。

   内容格式:

From: 空格 "发件人名字" 空格 <发件人邮箱>\r\n

To: 空格 "收件人名字" 空格 <收件人邮箱>\r\n

Subject: 空格  主题\r\n

Date: 空格 时间字符串\r\n

\r\n

邮件字符串序列\r\n

.\r\n

 

  

   案例:

From:  "小明" <222@qq.com>\r\n

To: "小米" <kkk@163.com>\r\n

Subject: 拜访一下\r\n

Date: Mon, 3 Jan 2025 12:33:08\r\n

\r\n

请问你现在在干嘛?\r\n

.\r\n

 服务器返回250接收成功。

 

 (四)退出

   客户端发送下列命令:

QUIT\r\n

  服务端返回221响应。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值