Chinaunix首页 | 论坛 | 博客
  • 博客访问: 318433
  • 博文数量: 84
  • 博客积分: 886
  • 博客等级: 准尉
  • 技术积分: 769
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-30 19:32
文章分类

全部博文(84)

文章存档

2018年(1)

2017年(2)

2014年(1)

2013年(50)

2012年(30)

我的朋友

分类: LINUX

2013-07-05 10:32:17

电子邮件因简洁、方便,已成为目前最 成功的一种应用。互联网上有成千上万的邮件服务器为用户提供服务。每个服务器上有几十至几百万个或更多的用户邮箱,用户通过用户代理(如FoxMail、 MS Express)收发邮件,邮件内容除通常的文字信息外,还可附加图象、音频、视频等信息。保证邮件交换正常使用的是、、MIME等协议。在邮件服务器上,一般使用文件系统来存储用户邮件。发送的服务器和接收的邮件服务器可以不是同一台。同一域的邮件服务器可采用分布式结构组成服务器群。邮件服务器还可定义邮箱别名进行转发。  

1.SMTP(简单邮件传输协议)

1982年制定了SMTP(RFC 821)和邮件报文格式RFC 822。SMTP描述了两个进程之间如何交换信息,邮件报文格式规定了邮件的具体格式。

邮件由首部和主体构成,主体部分是邮件的内容,首部由关键字、冒号及关键信息组成,典型首部如下:


  1. Date:
  2. From: a@b.c.d
  3. To:abc@def.ghi.jkl; 123@456.789
  4. Subject: abcdefg
  5. CC: aa@bb.cc.dd
  6. BCC: 1@2.3.4
  7. Reply-To:


用SMTP收发邮件的过程为:建立TCP连接(服务端口号25),传送邮件,释放连接。

传送邮件的命令:

如果DATA命令被接收,接收方返回一个354 Intermediate应答,并认定以下的各行都是信件内容。当信件结尾收到并存储后,接收者发送一个250 OK应答。因为邮件是在传送通道上发送,因此必须指明邮件内容结尾,以便应答对话可以重新开始。SMTP通过在最后一行仅发送一个句号来表示邮件内容的结 束,在接收方,一个对用户透明的过程将此符号过滤掉,以不影响正常的数据。


点击(此处)折叠或打开

  1. HELO
  2. MAIL FROM:
  3. RCPT TO:
  4. DATA
  5. RSET
  6. SEND FROM:
  7. SOML FROM:
  8. SAML FROM:
  9. VRFY
  10. EXPN
  11. HELP [ ]
  12. NOOP
  13. QUIT
  14. TURN


传送邮件的应答:

500 格式错误,命令不可识别(此错误也包括命令行过长)

501 参数格式错误

502 命令不可实现

503 错误的命令序列

504 命令参数不可实现

211 系统状态或系统帮助响应

214 帮助信息

220 服务就绪

221 服务关闭传输信道

421 服务未就绪,关闭传输信道(当必须关闭时,此应答可以作为对任何命令的响应)

250 要求的邮件操作完成

251 用户非本地,将转发向

450 要求的邮件操作未完成,邮箱不可用(例如,邮箱忙)

550 要求的邮件操作未完成,邮箱不可用(例如,邮箱未找到,或不可访问)

451 放弃要求的操作;处理过程中出错

551 用户非本地,请尝试

452 系统存储不足,要求的操作未执行

552 过量的存储分配,要求的操作未执行

553 邮箱名不可用,要求的操作未执行(例如邮箱格式错误)

354 开始邮件输入,以.结束

554 操作失败

例子:


  1. R: 220 BBN-UNIX.ARPA Simple Mail Transfer Service Ready
  2. S: HELO USC-ISIF.ARPA
  3. R: 250 BBN-UNIX.ARPA
  4. S: MAIL FROM:
  5. R: 250 OK
  6. S: RCPT TO:
  7. R: 250 OK
  8. S: RCPT TO:
  9. R: 550 No such user here
  10. S: RCPT TO:
  11. R: 250 OK
  12. S: DATA
  13. R: 354 Start mail input; end with .
  14. S: Blah blah blah...
  15. S: ...etc. etc. etc.
  16. S: .
  17. R: 250 OK
  18. S: QUIT
  19. R: 221 BBN-UNIX.ARPA Service closing transmission channel




转自:

阅读(1608) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~