千家信息网

使用postfix和dovecot部署邮件系统--学习笔记

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,本次实验环境是redhat 7.0系统如上图所示客户端使用outlook收发邮件服务器端使用postfix向外发送邮件,使用dovecot接收邮件并转发改用户1. 安装dns域名解析服务1.1 配置服
千家信息网最后更新 2025年01月23日使用postfix和dovecot部署邮件系统--学习笔记

本次实验环境是redhat 7.0系统

如上图所示
客户端使用outlook收发邮件
服务器端使用postfix向外发送邮件,使用dovecot接收邮件并转发改用户

1. 安装dns域名解析服务

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

[root@localhost Desktop]# vim /etc/hostname mail.wifiin.com[root@localhost Desktop]# hostnamemail.wifiin.com

1.2 清空iptables防火墙的默认策略

[root@localhost Desktop]# iptables -F[root@localhost Desktop]# service iptables saveiptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]

1.3 配置dns服务

# 安装[root@localhost Desktop]# yum install bind-chroot -y# 修改配置[root@localhost Desktop]# vim /etc/named.conf options {    listen-on port 53 { any; };  【改成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";    allow-query     { any; }; 【改成any】# 将wifiin.com的zone信息添加到文件的末尾[root@localhost Desktop]# vim /etc/named.rfc1912.zones zone "wifiin.com" IN {    type master;    file "wifiin.com.zone";    allow-update { none; };};# 进入到named的区域配置文件目录/var/named[root@localhost log]# cd /var/named/[root@localhost named]# cp -a named.localhost wifiin.com.zone[root@localhost named]# vim wifiin.com.zone$TTL 1D@   IN SOA  wifiin.com. root.wifiin.com. (                    0   ; serial                    1D  ; refresh                    1H  ; retry                    1W  ; expire                    3H )    ; minimum    NS  ns.wifiin.com.ns  IN A    192.168.137.10@   IN MX 10 mail.wifiin.com.mail    IN A    192.168.137.10

1.4 启动dns服务

# 启动服务并设置开机自启动[root@localhost named]# systemctl restart named[root@localhost named]# systemctl enable namedln -s '/usr/lib/systemd/system/named.service' '/etc/systemd/system/multi-user.target.wants/named.service'# 将服务器的dns修改为本机的ip[root@localhost named]# vim /etc/resolv.conf nameserver 192.168.137.10

2. 配置postfix服务

2.1 安装

[root@localhost ~]# yum install postfix -y

2.2 修改配置文件

主配置文件是/etc/postfix/main.cf,需要修改一下几个参数:

# 修改myhostname的变量,用户保存服务器的主机名称myhostname = mail.wifiin.com# 修改mydomain的变量,用来保存邮件域的名称mydomain = wifiin.com# 修改myorigin的变量,用来保存发出邮件的域名称,调用mydomain的变量即可myorigin = $mydomain# 修改服务监听地址,哪些IP地址对外提供电子邮件服务inet_interfaces = all# 修改可接受邮件的主机名或域名列表mydestination = $myhostname, $mydomain

2.3 创建电子邮件系统的登录用户,此用户就是服务器本地系统的用户

[root@localhost ~]# useradd developer[root@localhost ~]# echo "redhat" |passwd --stdin developerChanging password for user developer.passwd: all authentication tokens updated successfully.[root@localhost ~]# systemctl restart postfix[root@localhost ~]# systemctl enable postfix

3 配置dovecot服务

3.1 安装

[root@localhost ~]# yum install dovecot -y

3.2 修改配置

主配置文件/etc/dovecot/dovecot.conf,修改一下参数:

# 修改支持的电子邮件协议protocols = imap pop3 lmtp# 允许用户使用明文进行密码验证,因为我的实验环境没有证书。需要自己写入配置文件中disable_plaintext_auth = no# 设置允许登录的网段login_trusted_networks = 192.168.137.0/24

配置文件/etc/dovecot/conf.d/10-mail.conf,修改以下参数:

# 配置邮件格式与存储路径 mail_location = mbox:~/mail:INBOX=/var/mail/%u # 切换到developer用户,在家目录中创建保存邮件的目录 [root@localhost ~]# su - developer[developer@mail ~]$ mkdir -p mail/.imap/INBOX[developer@mail ~]$ exit# 启动服务[root@localhost ~]# systemctl restart dovecot[root@localhost ~]# systemctl enable dovecotln -s '/usr/lib/systemd/system/dovecot.service' '/etc/systemd/system/multi-user.target.wants/dovecot.service'

服务器端配置完成

4. 测试

  1. windows测试机必须和服务器端在同一个网段内
  2. windows测试机必须将dns修改为服务器端的dns地址
  3. 使用windows的outlook登录developer@wifiin.com邮箱,给root@wifiin.com用户发邮件,登录到服务器上查看root用户是否能收到developer用户发送的邮件
  4. 在服务器上使用root用户给developer@wifin.com发送邮件,查看在windows的outlook上developer用户是否能够收到root发送的邮件
    developer用户发送的邮件,如下图:

    developer用户接受的邮件,如下图:
0