Linux实验记录:使用Postfix与Dovecot部署邮件系统

前言:

本文是一篇关于Linux系统初学者的实验记录。

参考书籍:《Linux就该这么学》

实验环境:

VmwareWorkStation 17——虚拟机软件

RedHatEnterpriseLinux[RHEL]8——红帽操作系统

备注:

  Web服务和FTP文件传输服务虽能实现文件共享。但是需要双方同时在线才能完成传输工作。

Ray Tomlinson用了近一年时间完成了电子邮件的设计,并在1071年秋天使用SNDMSG软件向自己的另一台计算机发出了第一封电子邮件——电子邮件系统在互联网中由此诞生。

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

简单邮件传输协议(Simple Mail Transfer Protocl,SMPT):

  用于发送和中转发出的电子邮件,占用服务器的TCP/25端口。

邮局协议版本3(Post Office Protocol 3):

  用于将电子邮件存储到本地主机,占用服务器TCP/110端口。

Internet消息访问协议版本4(Internet Message Access Protocol 4):

  用于在本地主机上访问邮件,占用服务器的TCP/143端口。

   在电子邮件系统中,为用户收发邮件的服务器名为邮件用户代理(Mail User Agent,MUA)

用于保存用户邮件的“信箱”服务器名叫邮件投递代理(Mail Delivery Agent,MDA)

把来自邮件传输代理(Mail Transfer Agent,MTA)的邮件保存到本地的收件箱中。

  在生成环境中部署企业级电子邮件系统时,注意:

1.添加反垃圾与反病毒模块

2.对邮件加密

3.添加邮件监控审核模块

4.保障稳定性

实验1:部署基础的电子邮件系统

一个最基础的电子邮件系统要能提供发件服务和收件服务,为此需要使用基于SMTP的Postfix服务程序提供发件服务功能,并使用基于POP3协议的Dovecot服务程序提供收件服务功能。

为了更好地检验电子邮件系统的配置效果,需要先部署bind服务程序,为电子邮件服务器和客户端提供DNS域名解析服务。

Step1.1:配置服务器主机名称,需要保证服务器主机名称与发信域名一致

vim /etc/hostname

改为mail.linuxprobe.com

或使用:

hostnamectl set-hostname mail.linuxprobe.com

Step1.2:清空iptables防火墙默认策略,保存策略状态

iptables -F 
iptables-save
firewall-cmd --permanent --zone=public --add-service=dns
firewall-cmd --reload

Step1.3:为电子邮件系统提供域名解析

/etc/named.conf
/etc/named.rfc1912.zones
cp -a /var/named/named.localhost /var/named/linuxprobe.com.zone
/ver/named/linuxprobe.com.zone
zone "linuxprobe.com" IN {
        type master;
        file "linuxprobe.com.zone";
        allow-update { none; };
};
 
$TTL 1D
@       IN SOA  linuxprobe.com. root.linuxprobe.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      ns.linuxprobe.com.
ns      IN A    192.168.10.10
@       IN MX 10 mail.linuxprobe.com.
mail    IN A    192.168.10.10

Step2:配置Postfix服务程序

  Postfix是一款由IBM资助研发的免费开源电子邮件服务程序,能够很好地兼容Sendmail服务程序,可以方便Sendmail用户迁移到Postfix服务上。Postfix服务程序的邮件收发能力强于Sendmail服务,而且能自动增加、减少进程数量来保证电子邮件系统的高性能与稳定性。‘

Step2.1:安装Postfix服务

dnf install postfix

Step2.2:配置Postfix服务程序。

vim /etc/postfix/main.cf
参数 作用
myhostname 邮件的主机名
mydomain 邮局系统的域名
myorigin 从本机发出邮件的域名名称
inet_interfaces 监听的网卡接口
mydestination 可接受邮件的主机名或域名
mynetworks 设置可转发哪些主机的邮件
relay_domains 设置可转发哪些网域的邮件
vim /etc/postfix/main.cf
ling 95:mail.linuxprobe.com
line 102:mydomain = linuxprobemcom
line 118:myorigin = $mydomain
line 135:inet_interfaces = all
line 183:mydestination = $myhostname, $mydomain
systemctl restart postfix
systemctl enable postfix

 

Step2.3:创建电子邮件系统的登录账户

  Postfix与vsftpd服务程序一样,都可以调用本地系统的账户和密码,因此在本地系统中创建常规账户即可。

useradd zhang
echo "linuxprobe" | passwd --stdin zhang
systemctl restart postfix
systemctl enable postfix

Step3:配置Dovecot服务程序

Dovert是一款能够为Linux系统提供IMAP和POP3电子邮件服务的开源服务程序,安全性高,配置简单,执行速度快,而且占用的服务器硬件资源少,是一款值得推荐的收件服务程序。

Step3.1:安装Dovert服务程序包

dnf install -y dovert

Step3.2:配置部署Dovert服务程序

vim /etc/dovecot/dovecot.conf
line 24:protocols = imap pop3 lmtp
ling 25:disable_plaintext_auth = no
line 49:login_trusted_networks = 192.168.10.0/24

Step3.3:配置邮件格式与存储路径

vim /etc/dovecot/conf.d/10-mail.conf
ling 25:mail_location = mbox:~/mail:INBOX=/var/mail/%u
su - zhang
mkdir -p mail/.imap/INBOX
exit
systemctl restart dovecot
systemctl enable dovecot
firewall-cmd --permanent --zone=public --add-service=imap
firewall-cmd --permanent --zone=public --add-service=pop3
firewall-cmd --reload

实验2:客户使用电子邮件系统

最近更新

  1. TCP协议是安全的吗?

    2024-02-07 13:38:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-07 13:38:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-07 13:38:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-07 13:38:02       20 阅读

热门阅读

  1. c++小游戏

    2024-02-07 13:38:02       25 阅读
  2. 冯唐《金线》,中国版金字塔原理

    2024-02-07 13:38:02       30 阅读
  3. Lua迭代器以及各种源函数的实现

    2024-02-07 13:38:02       30 阅读
  4. 极狐GitLab 与 Datadog 的集成配置

    2024-02-07 13:38:02       30 阅读
  5. oracle视图二次查询慢

    2024-02-07 13:38:02       27 阅读
  6. c++病毒代码

    2024-02-07 13:38:02       31 阅读