*****************配置邮件服务器*****************
MDA(Mail Delivery Agent):“邮件投递代理”主要的功能就是将MTA接收的信件依照信件的流向(送到哪里)将该信件放置到本机账户下的邮件文件中(收件箱),或者再经 由MTA将信件送到下个MTA。如果信件的流向是到本机,这个邮件代理的功能就不只是将由MTA传来的邮件放置到每个用户的收件箱,它还可以具有邮件过滤 (filtering)与其他相关功能
MTA(Mail Transfer Agent):MUA是用在Client端的软件,而MTA是用在邮件主机上的软件,它也是主要的邮件服务器。MTA就是“邮件传送代理”的意思,既然是 “传送代理”,那么用户寄信与收信时,都找MTA就对了!因为它负责帮用户传送。基本上,MTA的功能如下。
接收外部主机寄来的信件:既然是邮件主机,接收信件自然是主要功能,只要这个信件里有MTA内部账号,这封信就会被MTA收下来;
帮用户发(寄出)信:既然可以收信,自然也可以发信,只要用户具有合法的使用MTA的权力,就可以利用这台MTA主机把信传送出去!不过要注意,MTA会将信件送给目的地的MTA而不是目的地的MUA。
一,环境配置
改主机名hostnamectl set-hostname mailwestos.westos.com
改IP nm-connection-editor
修改yum源 : vim /etc/yum.repos.d/
***********************搭建DNS服务器mailwestos.com和maillinux.com.*********************
yum install bind -y
systemctl stop firewalld
vim /etc/named.conf
################################
注释:11// listen-on port 53 {127.0.0.1;};
12// listen-on-v6 port 53 { ::1 ;};
17// allow-query {localhost;};
修改 32 dnssec-validation no;
#################################
编写/etc/named.rfc1912.zone 添加两个zone
vim /etc/named.rfc1912.zones
##################################################
zone ''westos.com" IN {
type master;
file "westos.com.zone";
allow-update {none;};
};
zone "linux.com" IN {
type master;
file "linux.com.zone";
allow-update { none;};
};
#############################################
cp -p named.localhost westos.com.zone
vim westos.com.zone
################################
STTL 1D
@ IN SDA dns.westos.com. root.westos.com.(
0 ;serial
1D ;refresh
1H ;retry
1W ;expire
3H) ; minimum
NS dns.westos.com.
dns A 172.25.254.142
westos.com. MX 1 172.25.254.142.
######################################
cp -p westos.com.zone linux.com.zone
vim linux.com.zone
:%s/westos/linux/g 将文本里的westos改为linux
再将最后一行改为 llinux.com. MX 1 172.25.254.242
########################################
systemctl restart named
vim /etc/resolv.conf
###############################
nameserver 172.25.254.142
###############################
dig -t mx westos.com
dig -t mx linux.com
pop:协议
dove: 提供协议的服务
postfix是Wietse Venema想要为使用最广泛的sendmail提供替代品的一个尝试。在Internet世界中,大部分的电子邮件都是通过sendmail来投递的,大约有100万用户使用sendmail,每天投递上亿封邮件。这真实一个让人吃惊的数字。Postfix试图更快、更容易管理、更安全,同时还与sendmail保持足够的兼容性。
rpm -qa | grep postfix 筛选有无postfix 软件包
编写/etc/postfix/mail.cf
76 myhostname = mailwestos.westos.com 设置系统的主机名
83 mydomain = westos.com 设置域名(我们将让此处设置将成为E-mail地址“@”后面的部分)
99 myorigin = $mydomain 将发信地址“@”后面的部分设置为域名(非系统主机名)
119 inet_protocols = all 接受来自所有网络的请求
164 mydestination = $myhostname,$mydomain,localhost 指定发给本地邮件的域名
若配置文件修改不正确,则提示25端口为开启
systemctl restart postfix.service 重启服务
mail root@westos.com 测试
postqueue -f 刷新邮件,重新发送一遍
mailq 查看邮件状态
######空壳邮件#######
postfix /etc/aliases 给文件加密
systemctl restart postfix.service
vim /etc/aliases
###################
97 admin: root
###################
westos下;
mail admin@linux.com ###给admin用户发送文件
linux下:
id admin ##查看admin用户是否存在,会发现admin用户不存在
mail ##查看用户时,可以收到发送给admin的邮件
############群发邮件################
linux下:
vim /etc/aliases
##################################
98 more: :include:/etc/postfix/users
###################################
postalias /etc/aliases
systemctl restart postfix.service
vim /etc/postfix/users
################
root
student
##################
westos 下:
mail more@linux.com
linux 下 :
mail -u student
################企业邮件################
linux下:>/var/spool/mail/root
vim /etc/postfix/virtual
##################################
admin@qq.com root@westos.com
##################################
postmap /etc/postfix/virtual
postconf -e "virtual_alias_maps=
hash:/etc/postfix/virtual"
mail admin@qq.com
westos下:
mail: ####查看邮件,发送至admin@qq.com的邮件实际发送至root@westos.com
#####################企业邮件回复######################
vim /etc/named.rfc1912.zones
#################################
zone"qq.com" IN {
type master;
file "qq.com.zone";
allow-update {none;};
};
################################
vim /etc/named.conf/qq.com.zone
####################################
$TTL 1D
@ 1N SOA dns.qq.com. root.qq.com.(
0 ;serial
1D ;refresh
1H ;retry
1W ;expire
3H) ;minimum
NS dns.qq.com.
dns A 172.25.254.142
qq.com MX 1 172.25.254.142
###################################
systemctl restart named
vim /etc/postfix/generic
###################################
root@linux.com root@qq.com
###################################
postmap /etc/postfix/generic
postconf -e "smtp_generic_maps=
hash:/etc/postfix/generic"
systemctl restart postfix.service
测试: mail发送邮件后,在另一方会显示为qq.com回复的邮件。
##########远程发送邮件#################
yum install telnet -y
telnet 172.25.254.142 25
##########dovecot接收邮件#############
yum install dovecot -y
vim /etc/dovecot/dovecot.conf
24 protocols=imap pop3 imtp
48 login_trusted_networks = 0.0.0.0/0 ##允许访问的网络地址
49 disable_plaintext_auth = no 开启明文认证
vim /etc/dovecot/conf.d/10-mail.conf
30 mail_location = maildir:/home/vmail/%d/%n
##########################
mkdir /home/student/mail/.imap/
touch ./INBOX
在真机中:
yum install mutt -y
mutt -f pop://student@172.25.254.142
查看邮件
rpm -ivh thunderbird-31.2.0-1.el7.x86_64.rpm
数据库
cd /var/www/html/
tar jxf phpMyAdmin-3.40-all-languages.tar.bz2 解压数据库安装包
mv phpMyAdmin-3.40-all-languages/ mysqladmin 将里面的文件移到mysqladmin目录下
rm -fr phpMyAdmin-3.40-all-languages.tar.bz2 删除安装包
cd mysqladmin/
cp config.sample.inc.php config.inc.php
vim config.inc.php
***************
17 $cfg['blowfish_secret']='westos';
***************
yum install mariadb-server httpd php php-mysql -y
mysql_secure_installation 建立用户密码
按下图操作
用root创建数据库和表,添加数据,并用postfix用户登陆
cd /etc/postfix
分别编写mysql-user.cf, mysql-domain.cf, mysql-mailbox.cf三个文件如下图:
如下图所示操作
在文件中修改
vim /etc/postfix/main.cf
groupadd -g 888 vmail
useradd -u 888 -g 888 vmail
cd /etc/skel
mkdir mail/.imap
touch INBOX
mail admin@redhat.com
cd /home/vmail/mail/redhat.com/new
**************应用dovecot服务接受邮件********************
安装
yum install dovecot-mysql.x86_64 -y
vim /etc/dovecot/dovecot.conf
vim /etc/dovecot/conf.d/10-auth.conf
123 !include auth-sql.conf.ext
***********************************************************************
cd /usr/share/doc/dovecot-2.2.10/example-config/dovecot-sql.conf.ext /etc/dovecot/dovecot-sql.conf.ext
*****************************************
32 drive=mysql
71 connect=host=localhost dbname=email user=postfix password=postfix
78 default_pass_scheme=PLAIN
107 password_query=\
108 SELECT username,domain,password\
109 FROM email WHERE username='%u'AND domain='%d'
125 user_query= SELECT maildir,888 AS uid,888 AS gid FROM email WHERE username='%u'
***********************************
vim /etc/dovecot/conf.d/10-mail.conf
*******************************
30 mail_location=maildir:/home/vmail/%d/%n
************************************
setsebool -P mysql_connect_any on ##打开selinux服务
telnet 172.25.254.120.110