电子邮件系统与其他Internet服务相同,电子邮件是基于客户/服务器模式的.对于一个完整的电子邮件系统而言,它主要由一下三部分构件组成...
1.用户代理:用户代理(User Agent,缩写UA)就是用户与电子邮件系统的接口,在大多数情况下它就是在邮件客户端上运行的程序,主要负责将邮件发送到邮件服务器和从邮件服务器上接收邮件.目前主流的用户代理主要由Microsoft公司的Outlook和国产的Foxmail等...
2.邮件服务器:主要就是发送和接收邮件..根据用途不同,可将邮件服务器分为发送邮件服务器(SMTP服务器)和接收邮件服务器(POP3服务器或IMAP4服务器).
3.电子邮件使用的协议:
SMTP协议:SMTP即简单邮件传输协议,它是一组用于源地址到目的地址传送邮件的规则,由它来控制信件的中转方式.
POP3协议:POP3即邮局协议的第三个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的协议.它是Internet电子邮件的第一个离线协议标准,POP3允许从服务器上把邮件存储到本地主机即自己的计算机上,同时删除保存在邮件服务器上的邮件.
IMAP4协议:IMAP4即Internet信息访问协议的第四个版本,是用于从本地服务器上访问电子邮件的协议,它是一个客户/服务器模型协议,用户的电子邮件由服务器负责接收保存,用户可以通过浏览器信件头来决定是否要下载此信.用户也可以在服务器上创建或更改文件夹或邮箱,删除信件或检索信件特定部分.
虽然POP和IMAP都是处理接收邮件的,但两者在机制上却有所不同.在用户访问电子邮件时.IMAP4需要持续访问服务器,POP3则是将信件保存在服务器上,当用户阅读信件时,所有内容都会被立即下载到用户的机器上.因此可以把IMAP4看成是一个远程文件服务器,而把POP看成是一个存储转发服务器.就目前情况下看,POP3的应用远比IMAP4广泛得多.
在Linux平台中,有许多邮件服务器可供选择,但目前使用较多的是sendmail服务器,postfiex服务器,Qmail服务器.
与sendmail相比,postfix最被人称道的地方就在于其配置文件可读性很高.postfix的主配置文件是/etc/postfix/main.cf,先去理解几个代名词...
MUA -->邮件用户代理. Outlook. Foxmail. thunderbird. Evolution. Mutt
MTA -->邮件传递代理.
MDA -->邮件投递代理. Procmail. maildrop
MAA -->邮件访问代理. imap. cryas-imap. dovecot
SASL -->简单认证安全层.(只是给SMTP提供了一种认证功能)
MIME -->多用途邮件Internet邮件扩展.
MRA -->邮件检索代理和MAA性质一样.
首先我们去看看配置文件/etc/postfix/main.cf 中的选项的意义...
myhostname = mail.zzu.com -->设置postfix的主机名称.
myorigin = $myhostname -->设置由本台邮件主机寄出的每封邮件的邮件头中mail
from的地址,postfix默认使用本地主机名作为myorign参数值,建议用户将myorign参数设置为本地邮件主机的域名.
mydomain = zzu.com -->指定该主机的域名.
inet_interfaces -->默认情况下此值被设置为localhost.这表明只能在本地邮件主机上寄信.如果邮件主机上有多个网络接口.不过,通常是将所有的网络接口开放,以便接受从任何接口来的邮件..设置为all mydestination -->只有当发来的邮件的收件人地址与该参数值相匹配时,postfix才会
将邮件接收下来.
mynetworks -->可将该参数值设置为所信任的某台主机的IP地址,也可设置为所信任的某个IP子网或多个IP子网(用","分隔),这里将值设置为192.168.1.0/24,表示这台机器只转发子网192.168.1.0/24中客户机所发来的邮件,拒绝为其它子网转发邮件.
mynetworks-style -->主要设置可转发邮件的网络的方式.主要由三种:class. subnet.
host
relay_domains -->参数则是针对邮件来源的域名或主机名来设置的.列如:将参数值设置为zzu.com,则表示任何由域zzu.com发来的邮件都会被认为是信任的,postfix会将这些邮件进行转发..
虚拟别名域的配置
使用虚拟别名域,可以将发给虚拟域的邮件实际投递到真实域的用户邮箱中;可以实现群组邮递的功能,即指定一个虚拟邮件地址,任何人发给这个邮件地址都将由邮件服务器自动转发到真实域中的一组用户邮箱中.这里的虚拟域可以是实际并不存在的域,而真实域即可以是本地域(即main.cf文件中的mydestination参数值中列出的域),也可以是远程域或Internet中的域.虚拟域是真实域的一个别名,实际上是通过一个虚拟别名表(virtual),实现了虚拟域的邮件地址到真实域的邮件地址的重定向..
配置postfix必须关闭sendmail服务....
#service sendmail stop
#chkconfig sendmail off
#yum -y install postfix
在实际应用中要实现虚拟别名域,必须按以下步骤进行.编辑/etc/postfix/main.cf进行
如下定义...
virtual_alias_domains = zzu.com
virtual_alias_maps = hash:/etc/postfix/virtual
这里参数virtual_alias_domain定义虚拟别名域的名称,virtual_alias_maps定义虚拟别名域定义的文件路径...
编辑/etc/postfix/virtual
@example.com @zzu.com -->发给虚拟域example.com的邮件实际投到真实的本地域@zzu.com
sandy,mary,natasha@sina.com -->发给虚拟用户admin的邮件会转发给本地用户sandy和mary或者internet的用户natasha.
修改完后执行下面命令生效...
#postmap /etc/postfix/virtual -->用来将文件/etc/postfix/virtual生产postfix可以读取的数据库文件/etc/postfix/virtual.db
#postfix reload -->重新加载postfix的主配置文件..
用户的别名的配置...
本地linux系统中有个用户sandy,并且在Internet中有个Email:oranix@sina.com,为他设置两个别名,分别是haha,hehe.编辑/etc/aliases
haha: sandy
hehe: sandy,oranix@sina.com
还必须编辑/etc/postfix/main.cf文件...
alias_maps = hash:/etc/aliases -->用来指定含有用户别名定义的文件路径,alias_database用来指定别名表数据库文件路径.
alias_database = hash:/etc/aliases -->用来指定别名表数据库文件路径.
注意配置文件中等号前后一定要有空格.修改完配置文件后要使其生效,使用下面的命
令...
#postalias /etc/aliases -->用来将文件/etc/aliases生成postfix可以读取的数据库文件 /etc/aliases.db
#postfix reload
用户别名可以实现邮件列表的功能,但是只有root用户才能修改aliases文件...
阅读(2776) | 评论(0) | 转发(0) |