Chinaunix首页 | 论坛 | 博客
  • 博客访问: 61903
  • 博文数量: 19
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 190
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-14 19:31
文章分类
文章存档

2007年(19)

我的朋友
最近访客

分类: LINUX

2007-05-14 20:50:55

Sendmail的功能

1.       接受SMTP邮件

2.       为邮件选择路有

3.       传输SMTP邮件

4.       使用邮件别名,从而允许使用邮件列表

5.       错误检测以及速度和代价优化

 

Sendmail的结构和处理过程

电子邮件使用各种程序和协议使得配置和支持更加复杂化。当SMTPTCP/IP网络上发送电子邮件时,另一个程序可在同一个系统的不同用户之间发送邮件,同时有可能还有一个程序在UUCP网络上发送邮件。其中的每一个邮件系统(SMTPUUCP和本地邮件)都有各自的传输程序和寻址方式,所有这些都会造成邮件用户和系统管理的混乱。但是,sendmail可以消除多个邮件程序传输带来的混乱。

Sendmail的工作方式是根据用户的电子邮件的地址,为用户的邮件选择一条到达适当的传输程序的路由。它接受一个来自MUA的邮件,解释其邮件地址,将该地址重新改写成合适下一个传输程序的格式,然后引导邮件到达正确的传输程序。Sendmail将最终用户与这些细节隔离。如果邮件地址正确,sendmail就认为其可以正确的发送并进行传输。同样,对于一个进入的邮件,sendmail将先解释其地址,然后将邮件传送到用户的邮件程序或发送到另一个系统。

sendmail调用local传输程序时,sendmail会试图将邮件发送到接受用户的邮箱,就是/var/spool/。只要用户合法,而且有足够的邮箱空间,一般总是可以成功的。如果用户不合法,则邮件可能被退回。此后,接受者只要启动一个MUA就可以从邮箱中读取这封信。

sendmail调用的是TCP/IP邮件传输程序,它就会向远端主机的TCP25端口请求建立连接,如果连接成功,将使用SMTP协议进行邮件传输。如果连接失败(可能有多种原因,最常见的原因是对方主机已经关机),sendmail就将邮件放在邮件队列中(/var/spooling/mqueue),等晚些时候再重新发送(默认为1小时)。默认情况下,邮件在队列里保持3天,3天之后将自动删除,并将邮件退还给发送者。当在邮件处理过程中出错时 sendmail将邮件重发。

 

阅读(993) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:SUID和SGID的详细解(转载)

给主人留下些什么吧!~~