使用Postfix与Dovecont部署邮件系统

 

电子邮件系统基于邮件协议来完成电子邮件的传输,常见的邮件协议有下面这些

1.简单邮件传输协议(Simple Mail Transfer Protocol,SMTP):用于发送和中转发出的电子邮件,占用服务器的TCP/25端口

2.邮局协议版本3(Post Office Protocol 3):用于将电子邮件存储到本地主机,占用服务器的TCP/110端口

3.Internet消息访问协议版本4(Internet Message Access 4):用于在本地主机上访问邮件,占用服务器的TCP/143端口

生产环境中部署企业级的电子邮件系统时,有四个注意事项请留意

1.添加反垃圾与反病毒模块:它能够有效地组织垃圾邮件或病毒邮件对企业信箱的干扰

2.对邮件加密:可有效保护邮件内容不被黑客盗取和篡改

3.添加邮件监控审核模块:可有效地监控企业全体员工的邮件中是否有敏感词,是否有透露企业资料等违规行为

4.保障稳定性:电子邮件系统的稳定性至关重要,及时做好防范分布式拒绝服务(DDoS)

部署基础的电子邮件系统

配置服务器主机名称,需要保证服务器主机名称和发信域名保持一致

[root@mail ~]# hostname
mail.linuxprobe.com

//清空iptables防火墙默认策略,并保存策略状态
[root@mail ~]# iptables -F
[root@mail ~]# iptables-save
//将DNS协议加入到firewalld防火墙的允许列表中
[root@mail ~]# firewall-cmd --permanent --zone=public --add-service=dns
success
[root@mail ~]# firewall-cmd --reload
success

[root@mail ~]# vim /etc/named.conf
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        secroots-file   "/var/named/data/named.secroots";
        recursing-file  "/var/named/data/named.recursing";
        allow-query     { any; };
}

[root@mail ~]# vim /etc/named.rfc1912.zones
zone "linuxprobe.com" IN {
        type master;
        file "linuxprobe.com.zone"
        allow-update { none; };
}
//修改zone文件
[root@mail ~]# cp -a /var/named/named.localhost /var/named/linuxprobe.com.zone
[root@mail ~]# vim /var/named/linuxprobe.com.zone
$TTL 1D
@       IN SOA  linuxprobe.com rname.invalid. (
                                        20230620        ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@               NS      ns.linuxprobe.com
ns      IN      A       192.168.95.128
@       IN      MX      10      mail.linuxprobe.com
mail    IN      A       192.168.95.128

//重启DNS服务,并加入开机自启
[root@mail ~]# systemctl restart named
[root@mail ~]# systemctl enable named
Created symlink /etc/systemd/system/multi-user.target.wants/named.service → /usr/lib/systemd/system/named.service.

//修改为本地DNS,测试是否配置成功
[root@mail ~]# ping -c 4 mail.linuxprobe.com
PING mail.linuxprobe.com (192.168.95.128) 56(84) bytes of data.
64 bytes from mail.linuxprobe.com (192.168.95.128): icmp_seq=1 ttl=64 time=0.077 ms
64 bytes from mail.linuxprobe.com (192.168.95.128): icmp_seq=2 ttl=64 time=0.050 ms
64 bytes from mail.linuxprobe.com (192.168.95.128): icmp_seq=3 ttl=64 time=0.044 ms
64 bytes from mail.linuxprobe.com (192.168.95.128): icmp_seq=4 ttl=64 time=0.041 ms

--- mail.linuxprobe.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 99ms
rtt min/avg/max/mdev = 0.041/0.053/0.077/0.014 ms

配置Postfix服务程序,主配置文件(/etc/postfix/main.cf)

Postfix服务程序主配置文件中的重要参数

使用Postfix与Dovecont部署邮件系统_第1张图片

在Postfix的主配置文件中,总计需要修改5处。

myhostname = mail.linuxprobe.com //服务器的主机名称
mydoamin = linuxprobe.com //保存邮件域的名称
myorigin = $mydomain //直接调用前面的mydomain变量,定义发出邮件的域
inet_interface = all //定义网卡监听地址,指定使用服务器哪些IP地址对外提供服务
mydestination = $myhostnmae, $mydomain //定义接收邮件的主机或域名列表,可以直接调用前面的myhostname与mydomain变量

创建电子邮件系统的登陆账户

[root@mail ~]# useradd duanyingjun
[root@mail ~]# echo "Admin@123456" | passwd --stdin duanyingjun
Changing password for user duanyingjun.
passwd: all authentication tokens updated successfully.
[root@mail ~]# systemctl restart postfix.service
[root@mail ~]# systemctl enable postfix.service
Created symlink /etc/systemd/system/multi-user.target.wants/postfix.service → /usr/lib/systemd/system/postfix.service.

配置Dovecot服务程序

修改Dovecot主配置文件(/etc/dovecot/dovecot.conf)
[root@mail ~]# vim /etc/dovecot/dovecot.conf
//Dovecot服务程序支持的电子邮件协议修改为imap、pop3、lmtp
protocols = imap pop3 lmtp
//允许用户使用明文进行密码验证,因为Dovecot程序为了保证电子邮件系统的安全而默认强制用户使用加密方式进行登录,而由于当前还没有加密系统,因此需要添加该参数来允许用户的明文登录
disable_plaintext_auth = no
//设置允许使用邮件的网段
login_trusted_network = 192.168.95.0/24

//修改邮件格式与存储路径

//指定要将收到的邮件存放到服务器本地的哪个位置。路径默认已经定义好了,取消注释即可

[root@mail ~]# vim /etc/dovecot/conf.d/10-mail.conf
mail_location = mbox:~/mail:INBOX=/var/mail/%u

切换到配置Postfix服务时创建的用户,并创建用于保存邮件的目录

[root@mail ~]# su - duanyingjun
[duanyingjun@mail ~]$ mkdir -p mail/.imap/INBOX
[duanyingjun@mail ~]$ exit
logout
[root@mail ~]# systemctl restart dovecot
[root@mail ~]# systemctl enable dovecot
Created symlink /etc/systemd/system/multi-user.target.wants/dovecot.service → /usr/lib/systemd/system/dovecot.service.
[root@mail ~]# firewall-cmd --permanent --zone=public --add-service=imap
success
[root@mail ~]# firewall-cmd --permanent --zone=public --add-service=pop3
success
[root@mail ~]# firewall-cmd --permanent --zone=public --add-service=smtp
success
[root@mail ~]# firewall-cmd --reload
success

你可能感兴趣的:(网络,服务器,linux)