一、基础配置
1.需要两台环境纯净的虚拟机
2.更改主机名分别为 westos-mail.westos.com 和 qq-mail.qq.com
3.配置两台虚拟机的yum源,使两台虚拟机可以下载服务
******在westos-mail主机中的操作:**********
*)安装bind服务并开启
yum install bind -y ##下载bind服务
systemctl start named ##开启服务
*)vim /etc/named.conf
*)vim /etc/named.rfc1912.zones
*)cd /var/named
cp -p named.localhost westos.com.zone ##复制模板文件。-p不改变文件权限复制
vim westos.com.zone
##对westos.com域进行解析
cp -p westos.com.zone qq.com.zone
vim qq.com.zone
##编辑qq.com.zone解析文件。将文件中的westos更换成qq,将解析的ip地址改为qq-mail.qq.com的ip即可,
###以上所有操作完成了对westos.com 和 qq.com的域名解析
systemctl restart named ##重启named服务
*)vim /etc/resolv.conf
##在两台虚拟中编辑resolv.conf文件,更改dns解析地址
测试:
dig -t mx qq.com
dig -t mx westos.com
二、postfix
1.postfix提供smtp协议用来投递邮件
默认端口25
mail root@westos.com ##邮件接收方
Subject : hello ##邮件标题
hello world ##邮件内容
. ###“.” 用来结束录入内容并发送
mailq ##查看邮件队列,邮件是否发送成功
##上图表示发送失败,原因是qq.com主机的25端口没有开放,拒绝连接
*)查看25端口使用情况的命令
netstat -antlpe | grep master
##上图表示该主机中的25端口对所有人开放,默认情况下25端口只对127.0.0.1内循坏上开启
2.配置
*) vim /etc/postfix/main.cf
##接收邮件结尾字符的指定
##25端口开启的网络接口
##指定邮件来源结尾(@后面的字符内容)
## 76行## 指定mta主机名称
## 83行## 指定mta域名
编辑完成后:
systemctl restart postfix ##重启postfix服务
systemctl stop firewalld ##关闭火墙服务
三、 邮件别名及邮件群发
1.邮件别名
vim /etc/aliases
soo: root ##邮件别名更改
别名 真名
测试:
##利用别名给root@qq.com发送邮件
##邮件接收成功
2.邮件群发
vim /etc/aliases
moreuser: :include:/etc/postfix/moreuser
别名 :include:filename
vim /etc/postfix/moreuser #3邮件将群发给该文件中的用户
user1
user2
邮件群发测试:
mail moreuser@westos.com
##发送成功
##root用户接受邮件成功
##student用户接受成功
四、远程控制主机发送邮件
1.yum install telnet
telnet 172.25.254.128 25 ##利用25端口远程控住128主机
mail from:root@westos.com ##从westos主机中发送邮件
rcpt to:root@qq.com ##由qq主机接受邮件
data ##开始邮件编写
##邮件接受验证: (成功接收)
1.限制客户端登录
vim /etc/postfix/access
##禁止172.25.254.151主机远程连接
postmap /etc/postfix/access ##加密access文件,机密会后会生成一个access.db文件
测试:利用151主机远程连接128并进行邮件发送
##发送失败,权限不够无法发送
2.限制用户发送
student@westos.com REJECT ##禁止student用户发送
postmap /etc/postfix/sender ##加密sender文件
测试:
3.限制用户接收
vim /etc/postfix/main.cf
postmap /etc/postfix/recip ##加密配置文件
systemctl restart postfix ##重启服务
测试:
##westos@westos.com用户可以发送邮件
##westos@westos.com用户不能接收邮件
六、出站地址伪装及入站地址转换
1. postconf -e "smtp_generic_maps = hash:/etc/postfix/generic"
vim /etc/postfix/generic
##真用户名 ##伪装后用户名
postmap /etc/postfix/generic ##加密文件
systemctl restart postfix
测试:
发送邮件
接收邮件
postconf -e "virtual_alias_maps = hash:/etc/postfix/virtual"
vim /etc/postfix/virtual
hello@soo.com westos@westos.com
虚拟名字 真实名字
postmap /etc/postfix/virtual ##加密文件
systemctl restart postfix ##重启服务
####在westos主机上对soo.com 这个域名进行解析配置
测试:
##利用qq给hello@so.com 发送邮件
*********
##邮件接受成功
七、 dovecot
1.dovecot 用来提供收件协议
pop3 110
imap 143
imaps 993
pop3s 995
给定用户名称,用户密码,dovecot程序代我们去去看邮件
2.yum install dovecot -y ##安装dovecot服务
vim /etc/dovecot/dovecot.conf
24 protocols = imap pop3 lmtp ##使用的协议
48 login_trusted_networks = 0.0.0.0/0 ##允许所有网络登录
49 disable_plaintext_auth = no ##开启明文验证
30 mail_localtion = mbox:~ /mail:INBOX=/var/mail/%u ##邮件存放地址
systemctl restart dovecot ##重启服务
#####
建立用户soo并切换到soo用户
mkdir mail/.imap/ -p ##递归在soo家目录下建立mail .imap 目录
touch mail/.imap/INBOX ##在.imap目录下建立INBOX文件
测试:
在别的主机安装 yum install mutt -y 安装 mutt服务
mutt -f pop://soo@172.25.254.128
####按o 输入密码进入
八、雷鸟邮件接收的应用
*)找到雷鸟安装包,安装雷鸟
*)在应用中找到雷鸟并打开
九、利用数据库对邮件存放进行管理
1.mv /etc/postfix/main.cf /mnt/ ##备份main.cf文件到mnt目录
yum reinstall postfix -y ##重新安装postfix生成新的main文件
安找###postfix##配置main.cf文件
yum install httpd php php-mysql mariadb-server -y #安装所需服务
systemctl start mariadb ##开启数据库服务器
vim /etc/my.cnf
skip-networking=1
2.安装php服务,利用网页管理数据库在数据库中建立新的库及表,网页管理数据库方法请查找以前的博客
3.mysql -uroot -predhat ##root用户进入数据库
create user postuser@localhost identified by 'postuser' 建立新的数据库用户本地postuser,密码为postuser
grant select,update,insert on mail.* to postuser@localhost; ##给予postuser用户权限
4.vim /etc/postfix/mailuser.cf
vim /etc/postfix/maildomain.cf
vim /etc/postfix/mailbox.cf
5.配置postfix
groupadd -g 311 vmail ##建立vmail组
useradd -s /sbin/nologin -u 311 vmail -g 311 ##建立用户vmail
vim /etc/postfix/main.cf
测试:mail soo@soo.com ##给soo@soo.com用户发送邮件
cat /home/vmail/mnt/soo.com/soo/new/
十、dovecot+mysql
yum install dovecot dovecot-mysql -y ##安装邮件接收软件
vim /etc/dovecot/dovecot.conf ##配置主配置文件
24 protocols = imap pop3 lmtp ##支持的认证方式 lmtp加密协议
48 login_trusted_network = 0.0.0.0/0 ##信任网络(允许所有人连接)
49 disable_plaintext_auth = no ##允许明文认证
vim /etc/dovecot/conf.d/10-auth.conf
123 include auth-sql.conf.ext ##开启mysql认证方式
cp /usr/share/doc/dovecot-2.2.10/example-config/dovecot-sql.conf.ext /etc/dovecot/dovecot-sql.conf.ext
vim /etc/dovecot/dovecot-sql.conf.ext
32 driver = mysql
71 connect = host=localhost dbname=email user=postuser password=postuser ##查询时用到的库
78 default_pass_scheme = PLAIN
107 password_query = \
108 SELECT username,domain,password \
109 FROM emailuser WHERE username = '%u' AND domain = '%d'
125 user_query = SELECT maildir, 311 AS uid, 311 AS gid FROM eamiluser WHERE username = ‘%u’ ##查询邮件内容
vim /etc/dovecot/conf.d/10-mail.conf
30 mail_localtion = maildir:/home/vmail/%d/%n ##指定邮件位置
168 first_valid_uid = 311
175 first_valid_gid = 311
systemctl restart dovecot
测试:
十一、空壳邮件
vim /etc/postfix/main.cf
76 myhotsname = nullmail.example.com
83 mydomain = example.com
99 myorigin = westos.com ##172.25.254.128的域名
113 inet_interface = all
164 mydestination =
316 relayhost = 172.25.254.128
测试:
本文转自 昭He浅墨 51CTO博客,原文链接:http://blog.51cto.com/502703956/1929098,如需转载请自行联系原作者