系统相关
首页 > 系统相关> > linux postfix部署邮箱服务

linux postfix部署邮箱服务

作者:互联网

一. 邮箱部署前的知识

1. Mail Server与DNS关系

2. 邮件传输所需要的组件

3. Relay 与认证机制的重要性

当你的 MTA 由于设定不良的关系导致具有 Open Relay 的状况,加上你的 MTA 确实是连上因特网时, 由于因特网上面用 port scan 软件的闲人太多,你的 MTA 具有 Open Relay 的功能这件事情, 将会在短时间内就被很多人察觉,此时那些不法的广告信、色情垃圾信业者将会利用你的这部 Open Relay MTA 发送他们的广告,所以应该关闭open relay功能,授权开放relay功能:

二. PostFix基础设定MTA服务器

1. PostFix软件结构介绍

2. PostFix主配置文件使用语法

3. 让 Postfix 作为MTA的配置介绍

4. MTA收到一份信的动作

5. 作为MTA配置过程举例

#配置前请确保iptables规则配置妥当,selinux已经关闭,如果是centos7,firewall也要关闭。
iptables -A INPUT -p TCP -i $EXTIF --dport  25  --sport 1024:65534 -j ACCEPT

[root@www ~]# vim /etc/postfix/main.cf
myhostname = www.centos.jet 
myorigin = $myhostname 
inet_interfaces = all
inet_protocols = ipv4
mydestination = $myhostname,$mydomain
mynetworks = 127.0.0.0/8, 192.168.100.0/24, hash:/etc/postfix/access
relay_domains = $mydestination
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
# 其他的设定值就先保留默认值即可!

# 生成别名数据库文件
[root@www ~]# postmap hash:/etc/postfix/access
[root@www ~]# postalias hash:/etc/aliases
# 检查配置文件的语法是否有错误
[root@www ~]# /etc/init.d/postfix check   <==没有信息输出,表示没有问题。

# 启动与观察 port number
[root@www ~]# /etc/init.d/postfix restart

假设要增加MTA的过滤机制

[root@www ~]# vim /etc/postfix/access
10.1.30.50		OK
.edu.com			OK
av.com			REJECT
192.168.2.  		REJECT
# OK 表示可接受,而 REJECT 则表示拒绝。

[root@www ~]# postmap hash:/etc/postfix/access
[root@www ~]# ls -l /etc/postfix/access*
#不必重新启动 postfix,只要重新生成数据库文件即可生效。

关于别名的配置(root权限配置)

#作用是将发给这些系统账号的邮件发一份给root。
[root@www ~]# vim /etc/aliases
mailer-daemon:  postmaster
postmaster:     root
bin:            root
daemon:         root
#左边是系统账号,也是别名设置位置,右边是root账号,也是实际接收邮件的账号。
#假如你的 MTA 内有一个实际的账号名称为 dmtsai ,这个使用者还想要使用 dermintsai 这个名称来收他的信件, 那么你可以这样做:
[root@www ~]# vim /etc/aliases
dermintsai:     dmtsai
# 左边是你额外所设定的,右边则是实际接收这封信的账号!

[root@www ~]# postalias hash:/etc/aliases
# 信件会传给 root 与 dmtsai 这两个账号!
[root@www ~]# vim /etc/aliases
root:		root,dmtsai  
[root@www ~]# postalias hash:/etc/aliases
#创建邮件组
[root@www ~]# vim /etc/aliases
student2011:	std001,std002,std003,std004...
[root@www ~]# postalias hash:/etc/aliases
#邮件别名除了填写自己主机上面的实体用户之外,其实你可以填写外部主机的 email !
# 例如你要将本机的 dermintsai 那个不存在的用户的信件除了传给 dmtsai 之外,还要外传到 dmtsai@mail.niki.centos.jet 时,可以这样做:
[root@www ~]# vim /etc/aliases
dermintasi:	dmtsai,dmtsai@mail.niki.centos.jet
[root@www ~]# postalias hash:/etc/aliases

个人化的邮件转递(普通用户): ~/.forward

#普通用户将自己的邮件同时收一份到jet和dmtsai@mail.niki.centos.jet下。
[dmtsai@www ~]$ vim .forward
# 注意!我现在的身份现在是 dmtsai 这个一般身份,而且在他的家目录下!
dmtsai
jet
dmtsai@mail.niki.centos.jet
[dmtsai@www ~]$ chmod 644 .forward
#该档案所在用户家目录权限,其 group、other 不可以有写入权限。
#.forward 档案权限,其 group、other 不可以有写入权限。

6. MTA的维护命令

[root@www ~]# postqueue -p   #查看MTA邮件队列
[root@www ~]# cd /var/spool/postfix/maildrop 
[root@www maildrop]# postcat 5CFBB21DB  <==这个档名就是 Queue ID
[root@www ~]# /etc/init.d/postfix restart
[root@www ~]# postfix flush

三. PostFix MRA服务器设定

1. 未加密的MRA设定

[root@www ~]# yum install dovecot
[root@www ~]# vim /etc/dovecot/dovecot.conf
# 找到底下这一行,大约是在第 25 行左右的地方,复制新增一行内容如下:
#protocols = imap pop3 lmtp
protocols = imap pop3
[root@www ~]# vim /etc/dovecot/conf.d/10-ssl.conf
ssl = no   <==将第 6 行改成这样!
[root@www ~]# /etc/init.d/dovecot start
[root@www ~]# chkconfig dovecot on
[root@www ~]# netstat -tlnp | grep dovecot
Proto Recv-Q Send-Q Local Address   Foreign Address   State    PID/Program name
tcp        0      0 :::110          :::*              LISTEN   14343/dovecot
tcp        0      0 :::143          :::*              LISTEN   14343/dovecot

2. 加密的MRA设定

# 1. 建立凭证:到系统提供的 /etc/pki/tls/certs/ 目录下建立所需要的 pem 凭证档:
[root@www ~]# cd /etc/pki/tls/certs/
[root@www certs]# make vbirddovecot.pem
....(前面省略)....
Country Name (2 letter code) [XX]:China
State or Province Name (full name) []:China
Locality Name (eg, city) [Default City]:bj
Organization Name (eg, company) [Default Company Ltd]:test
Organizational Unit Name (eg, section) []:test
Common Name (eg, your name or your server's hostname) []:mail.centos.jet
Email Address []:wang_zengyi@126.com

# 2. 因为担心 SELinux 的问题,所以请关闭selinux,并配置iptables规则
iptables -A INPUT -p TCP -i $EXTIF --dport 993  --sport 1024:65534 -j ACCEPT
iptables -A INPUT -p TCP -i $EXTIF --dport 995  --sport 1024:65534 -j ACCEPT

# 3. 开始处理 dovecot.conf,只要 pop3s, imaps 不要明码传输的咯!
[root@www certs]# vim /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = yes  <==第 9 行改成这样!取消批注!
[root@www certs]# vim /etc/dovecot/conf.d/10-ssl.conf
ssl = required                                <==第 6 行改成这样
ssl_cert = </etc/pki/dovecot/vbirddovecot.pem <==12, 13 行变这样
ssl_key =  </etc/pki/dovecot/vbirddovecot.pem

[root@www certs]# vim /etc/dovecot/conf.d/10-master.conf
  inet_listener imap {
    port = 0     <== 15 行改成这样
  }
  inet_listener pop3 {
    port = 0     <== 36 行改成这样
  }

# 4. 处理额外的 mail_location 设定值!很重要!否则网络收信会失败:
[root@www certs]# vim /etc/dovecot/conf.d/10-mail.conf
mail_location = mbox:~/mail:INBOX=/var/mail/%u <==第 30 行改这样

# 5. 重新启动 dovecot 并且观察 port 的变化:
[root@www certs]# /etc/init.d/dovecot restart
[root@www certs]# netstat -tlnp | grep dovecot
Proto Recv-Q Send-Q Local Address  Foreign Address   State    PID/Program name
tcp        0      0 :::993         :::*              LISTEN   14527/dovecot
tcp        0      0 :::995         :::*              LISTEN   14527/dovecot

标签:www,postfix,设定,etc,linux,邮箱,MTA,root
来源: https://www.cnblogs.com/wangzengyi/p/12551520.html