Step 1:配置Postfix主机名和DNS记录
为了使Postfix性能更佳,并充分发挥其功能,您需要正确设置Rocky Linux 9服务器
为Rocky Linux 9服务器设置正确的主机名
默认情况下,Postfix在与其他邮件服务器(MTA)通信时使用服务器的主机名来做标识。主机名有两种表现形式:
- 一个单词
- FQDN
一个单词这种形式通常用于个人计算机、服务器等。FQDN(完全限定域名)通常用于面向互联网的服务器上。所以我们需要在Postfix服务器上使用FQDN。例如:pangshare
是一个单词,mail.pangshare.com
是一个FQDN。FQDN将显示在smtpd中。某些MTA甚至会通过DNS查询你的smtpd信息是否解析为邮件服务器的IP。
输入一下命令查看服务器的FQDN
hostname -f
如果此时你还没有在Rocky Linux上设置FQDN,那么你可以使用下面的命令来设置hostnamectl
。需要注销并重新登录后才能在命令行下查看更改后的FQDN。
sudo hostnamectl set-hostname mail.pangshare.com
为Postfix邮件服务器创建DNS记录
- 创建邮件交换(MX)记录
MX记录将电子邮件定向到邮件服务器mail.pangshare.com
- 创建A记录
A记录将邮件域名mail.pangshare.com
指向邮件服务器IP
- PTR记录
PTR记录用于反向解析,IP解析到域名。
反向解析则是指将IP地址映射到域名上,需要您与IDC机房或主机服务商联系实现。
如果您的服务器提供是阿里云,您可以通过提交工单由阿里云服务器售后支持会协助您添加反向解析。
若要检查PTR记录是否生效,可以使用如下命令进行查看
dig -x <IP> +short
或者
host <IP>
Step 2:安装Postfix Server
在Rocky Linux服务器上,执行以下两个命令来安装Postfix Server
sudo dnf update
sudo dnf install postfix -y
安装完成后,启动Postfix Server并设置自动启动
sudo systemctl start postfix
sudo systemctl enable postfix
现在可以使用以下命令来查看Postfix的服务状态
systemctl status postfix
现在可以使用如下命令对Postfix进行相关的检查操作
postconf mail_version
Rocky Linux 9默认附件3.5.9版本
mail_version = 3.5.9
通过如下命令查看Postfix服务器目前是否在监听本地的TCP25端口
sudo ss -lnpt | grep master
Step3:配置Postfix Server
Postfix Server的配置文件可以通过两种方式进行修改。一种是直接修改配置文件,一种是通过命令修改。Postfix Server默认配置文件路径在etc/postfix/main.cf
- 设置Postfix 监听公共IP地址
查看默认配置项
postconf inet_interfaces
输出
inet_interfaces = localhost
我们需要通过如下命令来修改这个配置,以便于Postfix Server能够接收来自其他SMTP服务器的电子邮件。使用postconf -e
能够编辑Postfix配置文件。
sudo postconf -e "inet_interfaces = all"
- 设置Postfix 主机名称
默认情况下Postfix服务器使用操作系统的主机名,可以使用以下命令查看当前的Postfix主机名。
postconf myhostname
Postfix使用此主机名与其他SMTP服务器通信时进行自身标识。但是,操作系统的名称有可能会做修改。建议还是在此配置中设置主机名称。
sudo postconf -e "myhostname = mail.pangshare.com"
- 设置$mydomain参数
这个参数将指定你的互联网域名,比如:pangshare.com
。
postconf mydomain
输出
mydomain = pangshare.com
如果你查看此配置未显示你的域名,那么需要修改$mydomain参数设置为:
sudo postconf -e "mydomain = pangshare.com"
- 设置$mydestination参数
这个参数设定postfix服务器域名,通过如下命令查看$mydestination
的参数
postconf mydestination
输出
mydestination = pangshare.com, $myhostname, localhost.$mydomain, localhost
如果输出的结果中没有包含你的域名pangshare.com
可以通过如下命令进行添加。添加后在通过上述命令进行检查。
sudo postconf -e "mydestination = pangshare.com, $myhostname, localhost.$mydomain, localhost"
- 重启Postfix Server
上述配置修改完成后,我们需要重启Postfix Server让修改后的配置生效。
sudo systemctl restart postfix
Step4:在防火墙中开放25端口
在Rocky Linux中开放25端口,以便于Postfix可以接收来自其他SMTP服务器的电子邮件。运行如下命令开启TCP 25端口。
sudo firewall-cmd --permanent --add-port=25/tcp
sudo systemctl reload firewalld
Step5:发送测试电子邮件
现在我们可以通过命令行来测试发送邮件功能。
echo "test email" | sendmail test01@pangshare.com
查看发送的测试邮件,路径可以通过如下命令查看。
postconf mail_spool_directory
Step6:使用mail
程序发送和阅读测试邮件
在Rocky Linux上安装mail
dnf install s-nail -y
使用mail
测试发送电子邮件
mail root@pangshare.com
邮件发送完成后,我们去查看刚刚发送的测试电子邮件
Step7:设置Postfix服务器仅使用IPV4
默认情况下,Postfix同时使用IPV4和IPV6协议,通过如下命令查看:
postconf inet_protocols
输出
inet_protocols = all
如果接收SMTP服务器有IPV6地址,Postfix将优先尝试使用IPv6进行投递。如果你的Postfix服务器没有IPv6地址的话,建议禁用IPv6禁用IPv4
sudo postconf -e "inet_protocols = ipv4"
您还可以使用以下命令使 Postfix 首先使用 IPv4。
sudo postconf -e "smtp_address_preference = ipv4"
然后重新启动后缀以使更改生效。
sudo systemctl restart postfix
Step8:设置Postfix服务器自动重新启动
如果Postfix因为一些原因导致进程被停止,则需要运行如下命令重新启动Postfix服务器
sudo systemctl restart postfix
手动执行重启命令往往不符合我们实际运维的场景需要,我们需要设置Postfix进程被停止后会自动运行起来。在/etc/systemd/system
路径下创建postfix.service.d
目录后创建配置文件custom.conf
sudo mkdir -p /etc/systemd/system/postfix.service.d/
sudo vim /etc/systemd/system/postfix.service.d/custom.conf
在custom.conf
配置文件中增加如下配置内容
[Service]
Restart=on-failure
RestartSec=5s
重新加载文件并测试配置是否生效
sudo systemctl daemon-reload
sudo pkill master
systemctl status postfix
通过上述的配置我们看到Postfix的进程已经可以自动重新启动了。
今天的分享就到这里了,现在你已经运行了一个基本的Postfix邮件服务器了。可以使用命令行发送纯文本的电子邮件并阅读收到电子邮件内容。
下期预告:
Rocky Linux 9.2 部署电子邮件系统 -Postfix SMTP Server 03 安装 Dovecot IMAP 服务器并启用 TLS 加密,这个完成后我们将可以使用Foxmail等桌面邮件客户端来连接我们的邮件服务器进行电子邮件的发送和接收。
此文章为原创文章,作者:胖哥叨逼叨,如若转载,请与我联系并注明出处:https://www.pangshare.com/2797.htm
评论列表(2条)
[…] 在之前的文章中我们分享了关于Postfix SMTP服务器的基本配置。今天要和大家分享的是如何在 Postfix SMTP Server 上安装Dovecot IMAP并启用TLS加密。通过今天的配置我们将可以使用桌面邮件客户端(Foxmail、outlook)来接收和发送电子邮件。 […]
[…] Rocky Linux 9.2 部署电子邮件系统 -Postfix SMTP Server 02 基本部署 […]