SMTP、POP3、IMAP

来源:互联网 发布:mac os sierra 已下载 编辑:程序博客网 时间:2024/05/20 04:26

SMTP

SMTP是Simple Mail Transfer Protocol的缩写,称为简单邮件传输协议。SMTP主要用于用户代理与邮件服务器、邮件服务器与邮件服务器之间的邮件传输。例如,我想要发送一封电子邮件给同学A:
1. 我通过邮件代理(outlook,foxmail)将邮件发送给我的邮件服务器,假设为网易的smtp.163.com。
2. 我的邮件服务器接收到该邮件后,将邮件存放在我的邮箱里面。然后将其转发至同学A的邮件服务器上,假设为smtp.qq.com
3. 对方的邮件服务器接收到邮件后,将其存放到同学A的邮箱中。

下面是利用telnet连接smtp.163.com的例子

  1. smtp的端口号一般是25 telnet smtp.163.com 25
  2. 登入成功后,显示如下信息:
    220 gz-c-163smtp1.163.com SMTP Server for Netease [466] e3ca1add-9610-4ebb-b403-c9932af9512f
  3. 打招呼:HELO hello HELO是HELLO的缩写,hello可以是任意不为空内容。这条命令一定要执行。
  4. 登入: AUTH LOGIN
  5. 输入用户名:username username必须要经过base64编码
  6. 输入密码:password 同理,password也必须经过base64编码
  7. 如果上面都没出错的话,到这一步就已经登录成功,可以发送邮件了
  8. 发送方MAIL FROM: <username@163.com>
  9. 接收方RCPT TO: <username@163.com>
  10. 发送数据 DATA
  11. 输入要发送的数据,以\r\n.\r\n结束
  12. 退出:QUIT
    SMTP

POP3

pop3协议用于从邮件服务器查看邮件内容。
POP3主要有三个过程:
1. 登录
2. 事务处理,如查看邮件列表,查看具体某一封邮件,标记删除邮件
3. 更新

下面用telnet模拟该过程:
1. 连接服务器telnet pop3.163.com 110
2. 验证用户名user username这里的username不需要编码
3. 验证密码pass password
4. 事务处理

  • list 请求邮件列表
  • retr num 请求邮件编号为num的邮件内容
  • dele num 将编号为num的邮件标记删除
  • quit 退出并更新邮件列表

pop3

0 0