注:
- Oracle 提供的免费实验室环境中提供了本教程。
- 它使用 Oracle Cloud Infrastructure 身份证明、租户和区间示例值。完成实验室后,请使用特定于您的云环境的这些值替换这些值。
了解如何在 Oracle Linux 上安装和配置 Postfix
简介
本教程介绍了如何在 Oracle Linux 系统上安装和设置 Postfix 电子邮件服务器软件,以便可以在网络中发送消息。本教程以 Oracle Linux 8 或更高版本的用户为目标。
Postfix 是一台邮件传输代理 (Mail Transfer Agent, MTA) 服务器,该服务器是作为 sendmail
的替换开发的,这是许多早期 Linux 系统上的默认 MTA 服务器。由于其基于管道的模块化架构,Postfix 具备多功能性,可以与许多其他服务(例如垃圾邮件和防病毒处理)以及消息存储软件(例如 Dovecot IMAP 和 POP 服务器)轻松集成。
本教程介绍了如何设置和配置 Postfix 以主要用作简单邮件传输协议 (Simple Mail Transfer Protocol, SMTP) 服务器。
目标
完成此实验室后,您将能够:
- 设置服务器主机名
- 使用相应的防火墙规则安装 Postfix
- 配置 Postfix 以发送未加密的电子邮件
- 使用
mailx
发送测试电子邮件 - 查看 Postfix 邮件队列
先决条件
- 具有 Oracle Linux 8 的任何系统
安装 Postfix
注意:使用免费实验室环境时,请参见 Oracle Linux Lab Basics 了解连接和其他使用情况说明。
-
使用软件包管理器在实例上安装
postfix
软件包,如下所示:sudo dnf install -y postfix
-
允许通过服务器防火墙进行 SMTP 通信:
sudo firewall-cmd --zone=public --add-service=smtp --permanent
sudo firewall-cmd --reload
-
如果存在
sendmail
软件包,请将其删除:sudo dnf remove -y sendmail
-
将 Postfix 设置为默认邮件传输代理:
sudo alternatives --set mta /usr/sbin/sendmail.postfix
-
启用和启动 Postfix 服务:
sudo systemctl enable --now postfix
配置 Postfix
-
为默认 Postfix 配置创建备份:
sudo mv /etc/postfix/main.cf /etc/postfix/main.cf.bak
-
编辑配置文件
/etc/postfix/main.cf
,以包含类似如下的行:sudo tee -a /etc/postfix/main.cf > /dev/null <<EOF myhostname = $(hostname -f) myorigin = \$myhostname inet_interfaces = all inet_protocols = all mydestination = \$myhostname, localhost mynetworks = 192.168.1.0/24, 127.0.0.0/8, 10.0.0.0/24 home_mailbox = mail/ EOF
注意:从单个主机发送电子邮件足以满足此实验的目的。在生产环境中,应将
mydomain
设置为要从中发送电子邮件的注册域名。有关更多信息,请阅读 Postfix 手册页。 -
重新启动 Postfix 服务:
sudo systemctl restart postfix
发送测试电子邮件
-
安装
mailx
电子邮件客户端:sudo dnf install -y mailx
-
将测试电子邮件发送到您自己的外部电子邮件地址。在
mailx
命令中更新主机名,以匹配要从中发送电子邮件的实例:hostname=$(hostname -f)
echo "External email" | mailx -r root@$hostname -s "Test email subject" admin@example.com
注意:使用
mailx
从单个主机发送测试电子邮件足以满足此实验的目的。在生产环境中,您应在发件人电子邮件地址内使用您在/etc/postfix/main.cf
中配置的注册域,例如root@example.com
。 -
检查您自己的电子邮件帐户中的新消息。您可能需要检查垃圾邮件文件夹。
-
如果未显示电子邮件,您可以检查 Postfix 邮件队列:
sudo mailq
-
您也可以查看 Postfix 日志。按 Ctrl + C 退出:
sudo tail -f /var/log/maillog
更多学习资源
在 docs.oracle.com/learn 上浏览其他实验室,或者在 Oracle Learning YouTube 渠道上访问更多免费学习内容。此外,访问 education.oracle.com/learning-explorer 以成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Learn to Install and Configure Postfix on Oracle Linux
F47604-07
February 2023
Copyright © 2021, Oracle and/or its affiliates.