提示:如有侵权,立即删除
一、邮件概述
电子邮件服务器是处理邮件交换的软硬件设施的总称,包括电子邮件程序、电子邮箱等。为用户提供基于E-mail服务的电子邮件系统,人们通过访问服务器实现邮件的交换。
1.1相关软件
软件名:Postfix Dovecot
主目录:/etc/postfix
主配置文件:main.cf
myhostname:邮件服务器主机名
mydomain:邮件域
myorigin:设置允许发信的用户的邮件域
mydestination:设置允许收信的用户的邮件域
1.2邮件应用协议
SMTP 简单邮件传输协议(发邮件)TCP 25端口,加密时使用TCP 465端口
POP3 第三版邮局协议(收邮件)TCP 110 端口,加密时使用 TCP 995端口
IMAP4 第四版互联网邮件访问协议(收邮件)TCP 143端口,加密时使用TCP 993端口
二、邮件服务搭建
发送方配置
1.DNS搭建
yum -y install bind
vim /etc/named.conf
修改监听地址和访问控制为any
vim /etc/named.rfc1912.zones
使用extmail.org作为解析域,只保留正向解析即可
vim /var/named/extmail.localhost
修改数据文件,如下
NS dns.extmail.org
MX 3 mail.extmail.org
dns A 192.168.88.10
mail A 192.168.88.10
2.安装gcc及相关软件
yum -y install gcc* mysql-server mysql httpd mailx
启动MySQL(Apache)并设置开机自启
chkconfig mysqld(httpd) on
service mysqld(httpd) start
3.将web页面放到Apache的网页目录下
mkdir -p /var/www/extsuite
创建一个单独的目录
tar -xf extmail-1.2.tar.gz -C /var/www/extsuite/
tar -xf extman-1.1.tar.gz -C /var/www/extsuite/
将extmail和extman解压到创建的目录中
cd /var/www/extsuite
mv extmail-1.2/ extmail
mv extman-1.1/ extman
chown -R root.root *
将两个解压后的目录去掉版本号,并修改文件归属
4.将成品数据库文件导入MySQL中(空密码登录)
cd /var/www/extsuite/
mysql < ./extman/docs/extmail.sql
将./extman/docs中模板和数据导入到数据库中
vi ./extman/docs/init.sql
INSERT INTO `manager` VALUES (‘root@extmail.org’,’123456’,’admin’,’root’)
将此文件中该位置的密码修改为123456,切记先修改,再导入
mysql < ./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.创建映射用户并修改postfix的配置文件
所有邮件服务器注册用户都使用同一个映射用户(借用用户家目录、权限、身份)
useradd -u 600 -s /sbin/nologin vmail
vim /etc/postfix/main.cf
inet_interfaces = all #将此选项取消注释
inet_interfaces = localhost #将此选项注释掉
#在配置文件末尾加上以下内容
virtual_mailbox_base = /home/vmail
virtual_uid_maps = static:600
virtual_gid_maps = static:600
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
7.重启服务并测试
service postfix restart
echo "hello" | mail -s test support@extmail.org
ls /home/vmail/extmail.org/postmaster/Maildir/new/
接收方配置
1.安装dovecot相关软件
yum -y install dovecot dovecot-devel dovecot-mysql
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/
vim dovecot-sql.conf.ext
#将下列内容加入配置文件即可
driver = 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验证是否能连接
安装Telnet客户端进行登录验证
yum -y install telnet
telnet mail.extmail.org 110
user postmaster@extmail.org #登录postmaster用户
pass extmail #密码是extmail
retr 1 #查看第一封邮件
mail+web页面
1.修改/etc/httpd/conf/httpd.conf配置文件,能加载邮件web页面
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的属组属主,让vmail有权限执行
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
#MySQL用户名
SYS_MYSQL_PASS = extmail
#MySQL密码
3.extman中更改cgi的属组属主,让vmail有权限执行
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
perl Makefile.PL
make
make install
5.在浏览器上访问,windows测试需要手动指向dns服务器
相关软件下载地址:https://pan.baidu.com/s/1-r94PWQ-anlm9-u9Nd6Oxw
提取码:s41e