企业邮箱服务搭建
一、软件相关
软件名:postfix
主目录:/etc/postfix
主配置文件:main.cf
myhostname:邮件服务器主机名
mydomain:邮件域
myorigin:设置允许发信的用户的邮件域
mydestination:设置允许收信的用户的邮件域
二、企业级邮件服务实验部署
1.发送方配置
(1)DNS搭建
yum install bind -y
#修改监听地址和访问控制为any
vim /etc/named.conf
#使用extmail.org作为解析域,只保留正向解析即可
#vim /etc/named.rfc1912.zones
zone "extmail.org" IN {
type master;
file "extmail.localhost";
allow-update { none; };
};
#修改正向解析数据文件
#vim /var/named/extmail.localhost
NS dns.extmail.org.
MX 3 mail.extmail.org. #邮件交换记录
dns A 10.0.0.101
mail A 10.0.0.101
(2)安装gcc以及其他依赖软件
#注意如果是lamp环境则只需要安装gcc*
yum install gcc* mysql-server mysql httpd mailx -y
#启动mysql和apache并设为开机自启
(3)将准备好的软件包上传到服务器中
#将web页面放到apache的网页目录下
#创建单独的目录
mkdir -p /var/www/extsuite
#将extmail和extman解压到创建的目录并去掉版本号
tar -xf extmail-1.2.tar.gz -C /var/www/extsuite/
tar -xf extman-1.1.tar.gz -C /var/www/extsuite/
cd /var/www/extsuite/
mv extmail-1.2/ extmail
mv extman-1.1/ extman
#修改文件归属
chown -R root.root *
(4)将数据库sql文件导入到mysql中
# cd /var/www/extsuite/
#如果是mysql5.5版本以上先修改sql文件
#sed -i 's#TYPE=MyISAM#ENGINE=MyISAM#g' extmail.sql
#将./extman/docs中模板和数据导入到数据库中
mysql -uroot -p123456 < ./extman/docs/extmail.sql
#修改init.sql后导入
INSERT INTO `manager` VALUES ('root@extmail.org','123456','admin','root'
修改插入的密码为123456
mysql -uroot -p123456 < ./extman/docs/init.sql
(5)将邮件模板拷贝到邮件服务器的主目录下
#cd /var/www/extsuite/extman/docs/
cp -a mysql_virtual_alias_maps.cf mysql_virtual_domains_maps.cf mysql_virtual_mailbox_maps.cf /etc/postfix/
(6)创建映射用户并修改配置文件
useradd -u 600 -s /sbin/nologin vmail
#执行
postconf -e inet_interfaces=all
postconf -e virtual_mailbox_base=/home/vmail
postconf -e virtual_uid_maps=static:600
postconf -e virtual_gid_maps=static:600
postconf -e virtual_alias_maps=mysql:/etc/postfix/mysql_virtual_alias_maps.cf
postconf -e virtual_mailbox_domains=mysql:/etc/postfix/mysql_virtual_domains_maps.cf
postconf -e virtual_mailbox_maps=mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
(7)重启postfix并发送邮件测试
service postfix restart
echo "hello"|mail -s test support@extmail.org
cat /home/vmail/extmail.org/postmaster/Maildir/new/
二、接收方配置
1.安装dovecot软件
yum install dovecot doveco-devel dovecot-mysql -y
chkconfig dovecot on
service dovecot start
2.配置dovecot能够去数据库里读取数据
(1)修改/etc/dovecot/conf.d/10-mail.conf
#增加:
mail_location = maildir:/home/vmail/%d/%n/Maildir
#定义 dovecot 查询邮件的位置(顶头写)
first_valid_uid = 600
(2)修改/etc/dovecot/conf.d/10-auth.conf
#取消调用数据库的记录注释
!include auth-sql.conf.ext
(3)修改数据库连接配置文件
#拷贝模板生成
cp -a /usr/share/doc/dovecot-2.0.9/example-config/dovecot-sql.conf.ext /etc/dovecot/
#cd /etc/dovecot/
vim dovecot-sql.conf.ext
添加:
dirver = mysql
connect = host=localhost dbname=extmail user=extmail password=extmail
连接数据库的信息
default_pass_scheme = MD5
password_query = \
SELECT username, domain, password \
FROM mailbox WHERE username = '%u' AND domain = '%d'
验证登录密码的查询命令
user_query = SELECT maildir, 600 AS uid, 600 AS gid FROM mailbox WHERE username = '%u'
#查询虚拟用户对应的邮箱目录
3.重启dovecot验证
#service dovecot restart
#yum install telnet -y
三、web界面的配置
1.
#vim /etc/httpd/conf/httpd.conf
#取消注释,开启虚拟主机功能
NameVirtualHost *:80
#添加:
<VirtualHost *:80>
DocumentRoot /var/www/extsuite/extmail/html
ServerName mail.extmail.org
scriptalias /extmail/cgi /var/www/extsuite/extmail/cgi
alias /extmail /var/www/extsuite/extmail/html
scriptalias /extman/cgi /var/www/extsuite/extman/cgi
alias /extman /var/www/extsuite/extman/html
suexecusergroup vmail vmail
</VirtualHost>
2.extmail目录中更改cgi的归属
#cd /var/www/extsuite/extmail
chown -R vmail.vmail cgi/
cp -a webmail.cf.default webmail.cf
#vim webmail.cf
#修改邮件存放目录
SYS_MAILDIR_BASE = /home/vmail
#加密类型
SYS_CRYPT_TYPE = plain
#用户和密码
SYS_MYSQL_USER = extmail
SYS_MYSQL_PASS = extmail
3.extman中更改cgi的归属
#cd /var/www/extsuite/extman
chown -R vmail.vmail cgi/
cp -a webman.cf.default webman.cf
#vim webman.cf
SYS_MAILDIR_BASE = /home/vmail
SYS_SESS_DIR = /tmp
#生产环境中开启,实验环境无法显示效验码
SYS_CAPTCHA_ON = 0
SYS_CRYPT_TYPE = plain
4.安装unix-syslog
#cd Unix-Syslog-1.1
#如果报错安装依赖:yum install make perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
perl Makefile.PL
make && make install