注:

了解如何在 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

注意:使用免费实验室环境时,请参见 Oracle Linux Lab Basics 了解连接和其他使用情况说明。

  1. 使用软件包管理器在实例上安装 postfix 软件包,如下所示:

    sudo dnf install -y postfix
    
  2. 允许通过服务器防火墙进行 SMTP 通信:

    sudo firewall-cmd --zone=public --add-service=smtp --permanent
    
    sudo firewall-cmd --reload
    
  3. 如果存在 sendmail 软件包,请将其删除:

    sudo dnf remove -y sendmail
    
  4. 将 Postfix 设置为默认邮件传输代理:

    sudo alternatives --set mta /usr/sbin/sendmail.postfix
    
  5. 启用和启动 Postfix 服务:

    sudo systemctl enable --now postfix
    

配置 Postfix

  1. 为默认 Postfix 配置创建备份:

    sudo mv /etc/postfix/main.cf /etc/postfix/main.cf.bak
    
  2. 编辑配置文件 /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 手册页。

  3. 重新启动 Postfix 服务:

    sudo systemctl restart postfix
    

发送测试电子邮件

  1. 安装 mailx 电子邮件客户端:

    sudo dnf install -y mailx
    
  2. 将测试电子邮件发送到您自己的外部电子邮件地址。在 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

  3. 检查您自己的电子邮件帐户中的新消息。您可能需要检查垃圾邮件文件夹。

  4. 如果未显示电子邮件,您可以检查 Postfix 邮件队列:

    sudo mailq
    
  5. 您也可以查看 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 帮助中心