电子邮件系统不用多说了.现在大公司都有.所以身为网络管理员不会邮件系统那…
其实在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.127的MX邮件交换记录
Ø Apache域名:www.mafei.com
大多数情况下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%] |
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后发送到[email protected] 的邮件都可以被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 |
[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 以禁止登录
在整个电子邮件系统中.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 |
启动lookexpress 客户端.添加登录用户;
设置邮件服务器的地址
输入登录用户名称和密码
使用邮件用户给另外一个用户发送邮件
切换另外一个用户接收邮件
基于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 |
[root@server webmail]# mkdir -p attach data [root@server webmail]# chown -R apache:apache attach/ data/ [root@server webmail]# chmod 730 attach |
[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/'; //设置数据保存路径 $attachment_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 |
给别名用户发送邮件测试
使用被别名的用户登录系统接收邮件
可以接收到邮件.邮件显示的不是本用户.而是别名用户
使用另一个用户登录验证.