电子邮件系统不用多说了.现在大公司都有.所以身为网络管理员不会邮件系统那

其实在linux系统中搭建邮件系统.搭过的都知道,很麻烦.准备工作就得做半天时间.

说白了.搭建邮件系统只要将LAMP(L:linux   A:apache   M:mysql  P:”php”)环境构建好了.后面工作就很简单了,此处我用的是rpm包安装整个postfix系统.整个做下来也就2个多小时就搞定了吧废话不多说.开始做,.

 

在此处电子邮件系统中.服务器所使用的相关配置环境如下:

Ø  Ip地址:192.168.142.127/24

Ø  邮件域:@mafei.com

Ø  主机名:server.mafei.com

Ø  邮件账号:本地系统帐号

Ø  Pop3/IMAP服务器软件:采用rpm包安装的Dovecot

Ø  AMP平台:完全rpm包安装的apache.mysql.php

Ø  域名服务器:使用预先架构的DNS服务器.已做好mafei.com域的解析设置.并为该域添加了到192.168.142.127MX邮件交换记录

Ø  Apache域名:www.mafei.com

  

构建Postfix

大多数情况下RHEL5系统均默认安装了sendmail程序用于提供基本的发信服务.因此在安装postfix前最好将sendmail服务停止.以免与postfix服务发生冲突.只需依次执行service sendmail stop   .  chkconfig –level 35 sendmail stop命令即可.

 

Postfix的配置文件:

Postfix系统最主要的配置文件包括:/etc/postfix/main.cf/etc/postfix/master.cf前者是postfix服务的配置文件.后者是master程序的配置文件

在主配置文件中main.cf中可以设置的配置参数有三百多个,.大部分的配置参数都被自动设置了默认值.如果在main.cf文件中没有对应的设置.那么postfix服务器将使用默认值来启动以及运行.大多数时候,只需要设置少数的几个配置参数,就可以满足一般邮件服的要求

 

[root@server named]# service sendmail stop

关闭 sm-client                                           [确定]

关闭 sendmail                                            [确定]

 

[root@server Server]# rpm -ivh postfix-2.3.3-2.i386.rpm postfix-pflogsumm-2.3.3-2.i386.rpm

1:postfix                ########################################### [ 60%]

   2:postfix-pflogsumm      ########################################### [ 80%]

1.编辑main.cf文件.调整postfix的基本运

行参数.

 

110 inet_interfaces = 192.168.142.127    //修改设置postfix服务监听的ip地址.建议all

70 myhostname = mafei.com  //修改设置postfix服务器使用的主机名

94 myorigin = $mydomain  //修改设置外发邮件时发件人地址中的邮件域名

156 mydestination = $myhostname,$mydomain //修改设置可接收邮件地址的域名

411 home_mailbox = Maildir/     //设置邮件存储位置和格式

在上面配置中.mydestination参数的值设置为$myhostname,$mydomain后发送到xxx@mafei.comn 的邮件都可以被postfix服务器接收,.各邮箱用户的邮件将被投递到各自宿主目录下的maildir子目录中

 

设置完之后测试一下端口改过来没有.如果没有的话后面邮件会发送不成功的

[root@server Server]# service postfix restart

关闭 postfix                                             [确定]

启动 postfix                                             [确定]

[root@server Server]# netstat -ant | grep 25

tcp        0      0 192.168.142.127:25          0.0.0.0:*                   LIS   EN

tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LIS   EN

2创建运行postfix服务的用户(postfix) (postfix,postdrop)

[root@server Server]# groupadd mailusers

[root@server Server]# useradd -g mailusers -s /sbin/nologin mymafei

[root@server Server]# useradd -g mailusers -s /sbin/nologin myfei

[root@server Server]# passwd mymafei

[root@server Server]# passwd myfei

因为邮件用户并不需要使用shell登录linux系统,因此设为/sbin/nologin 以禁止登录

 

构建dovecot服务器

 

在整个电子邮件系统中.postfix服务器作为一个MTA软件也就是SMTP服务器主要提供邮件发送和投递的功能,若需要为MUA客户端软件提供收取邮件的功能.还得安装实现POP3或者IMAP4协议的服务器程序,

Dovecot是一个安全性较好的POP3/IMAP4服务器软件.响应速度快而且扩展性好.Dovecot也默认使用linux的系统用户.并通过PAM(可拔插认证模块)方式进行身份验证.通过认证的用户才可从邮箱中收取邮件

 

 

[root@server dovecot-2.0.0]# cd /mafei/Server/

[root@server Server]# rpm -ivh dovecot-1.0-1.2.rc15.el5.i386.rpm

warning: dovecot-1.0-1.2.rc15.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186

Preparing...                ########################################### [100%]

   1:dovecot                ########################################### [100%]

修改dovecot.conf配置文件并进行简单设置

 

[root@server Server]# vim /etc/dovecot.conf

81 ssl_disable = yes   //禁用ssl机制

17 protocols = imap pop3  //指定支持的邮局协议

42 disable_plaintext_auth = no //允许明文密码验证

198 mail_location = maildir:~/Maildir //设置邮件存储格式及位置

验证PAM认证文件.如果不存在则创建,.

[root@server Server]# vim /etc/pam.d/dovecot

#%PAM-1.0

auth       required     pam_nologin.so

auth       include      system-auth

account    include      system-auth

session    include      system-auth

启动dovecot服务

[root@server Server]# service dovecot restart

停止 Dovecot Imap                                        [失败]

启动 Dovecot Imap                                        [确定]

设置各个服务的开机自启动

[root@server webmail]# chkconfig --level 35 named on

[root@server webmail]# chkconfig --level 35 httpd on

[root@server webmail]# chkconfig --level 35 mysqld on

[root@server webmail]# chkconfig --level 35 postfix on

[root@server webmail]# chkconfig --level 35 dovecot on

 

使用outlookExpress邮件客

启动lookexpress 客户端.添加登录用户;

 

 

 

设置邮件服务器的地址

 

输入登录用户名称和密码

 

使用邮件用户给另外一个用户发送邮件

切换另外一个用户接收邮件

 

 

 

扩展postfix邮件系统的功能

基于postfix服务器,.dovecot服务器构建一个简单的电子邮件系统.此处进一步扩展邮件系统的功能.包括提供web邮件页面.SMTP发信认证.配置邮件别名.限制邮箱空间以及邮件大小等

Webmail邮件页面

Webmail指的是提供给邮件用户发信.收信使用的网页操作界面.通过访问邮件系统提供的web界面.可以喝邮件客户端软件实现类似的邮件管理功能.使用webmail不需要预先设置邮件账号的属性,使用更加简单.便捷.因此得到广泛应用,.例如:新浪.网易.搜狐.gmail等站点都提供了 通过浏览器访问邮箱的网页平台

squirremail的官方网站http://www.squirrelmail.org中可以获得较新版本的源码包.从这里分别下载程序文件包squirrelmail-1.4.13.tar.bz2和中文语言包: zh_CN-1.4.13-20071220.tar.bz2
1安装程序包.中文语言包

不用说.先将2个软件包先拖到/root/目录下

[root@server ~]# tar jxvf squirrelmail-1.4.13.tar.bz2 -C /var/www/html/

[root@server ~]# cd /var/www/html

[root@server html]# mv squirrelmail-1.4.13/ webmail

[root@server html]# cd webmail/

[root@server webmail]# tar jxvf ~/zh_CN-1.4.13-20071220.tar.bz2

 

2.创建及调整数据目录.附件目录

[root@server webmail]# mkdir -p attach data

[root@server webmail]# chown -R apache:apache attach/ data/

[root@server webmail]# chmod 730 attach

 

3.建立config.php配置文件

[root@server webmail]# cp config/config_default.php config/config.php

[root@server webmail]# vi config/config.php

1000 $squirrelmail_default_language = 'zh_CN';

1014 $default_charset = 'zh_CN.UTF-8';

117 $domain = 'mafei.com';

145 $smtpServerAddress = '192.168.142.127';    //设置发信服务器地址及端口

150 $smtpPort = 25;

230 $imap_server_type = 'dovecot';            //设置收信人服务器地址及端口

209 $imapPort = 143;

$data_dir = '/var/www/html/webmail/data/';    //设置数据保存路径

$p_w_upload_dir = '/var/www/html/webmail/attach/';

 

 

 

启动httpd服务并在浏览器中登录squirrelMail系统

访问http://www.mafei.com/webmail web登录页面中输入邮件用户帐号名以及密码进行验证

[如果启动httpd服务时提示:

[root@server attach]# service httpd restart

停止 httpd                                               [确定]

启动 httpd[Mon Aug 02 15:05:02 2010] [warn] module php5_module is already loaded, skipping

                                                           [确定]

那就在httpd配置文件中注视掉这行就行了 否则会找不到webmail页面的

[root@server attach]# vim /etc/httpd/conf/httpd.conf

#LoadModule php5_module modules/libphp5.so

]

 

 

给另外一个用户发送测试邮件

 

 

使用另外一个用户登录系统接收邮件

 

 

 

设置用户别名与邮件群发功能

用户别名是邮件系统中的一个重要功能主要用来实现邮件群发功能,邮件用户别名的实现依赖于aliases机制.aliases机制则需要用到查询表.

1.       postix的查询表.

Postfix服务器在操作过程中经常需要做各式各样的转换与查询例如:改写邮件地址.判断客户端是否来自授权网络,设定别名等.很多运行参数都可以通过查询表(lookuptab)来决定.

举例来说有4个学生用户.zhangsan.lisi.laowang.xiaoma.xiaoli老师经常要给这些学生发送相同内容的邮件.这就需要在收件人地址中逐个添加每个学生的邮件地址.过程会非常繁琐.如果postfix服务器知道一个映射关系.例如名称Myma对应这四个学生用户.那么老师只要给myma发送邮件.postfix就会将邮件内容自动转发给这四个学生用户,.大大简化了用户的地址输入工作.

修改main.cf配置文件.使用/etc/aliases文件中的hash数据作为查询表

[root@server named]# vim /etc/postfix/main.cf

378 alias_maps = hash:/etc/aliases

 

2.       设置邮件别名实现群发功能

根据postifx服务器alias_map配置参数的设定.可以将邮件用户的别名设置对应的查询表文件中.例如//etc/aliases文件.在该文件中.每一行对应为一条别名设置记录设置格式为:”别名:地址1,地址2,地址3……”

修改/etc/aliases文件添加别名记录 在配置文件最后一行添加别名记录

[root@server named]# vim /etc/aliases

mafei: myfei, mymafei, myma

使配置生效

[root@server named]# newaliases

/etc/aliases: 77 aliases, longest 20 bytes, 790 bytes total

给别名用户发送邮件测试

 

使用被别名的用户登录系统接收邮件

 

可以接收到邮件.邮件显示的不是本用户.而是别名用户

 

使用另一个用户登录验证.