如何在Ubuntu 14.04上安装和配置Postfix作为仅发送的SMTP服务器

简介: 如何在Ubuntu 14.04上安装和配置Postfix作为仅发送的SMTP服务器

介绍

Postfix 是一个 MTA(Mail Transfer Agent),用于发送和接收电子邮件的应用程序。在本教程中,我们将安装和配置 Postfix,以便它只能被本地应用程序使用 - 也就是说,那些安装在与 Postfix 相同的服务器上的应用程序。

为什么要这样做?

如果您已经在使用第三方电子邮件提供商来发送和接收电子邮件,那么您当然不需要运行自己的邮件服务器。但是,如果您管理一台云服务器,在该服务器上安装了需要发送电子邮件通知的应用程序,那么运行本地的、仅用于发送的 SMTP 服务器是使用第三方电子邮件服务提供商或运行完整的 SMTP 服务器的良好替代方案。

一个发送电子邮件通知的应用程序的示例是 OSSEC,它将向任何配置的电子邮件地址发送电子邮件警报(请参阅《在 Ubuntu 14.04 上安装和配置 OSSEC 安全通知》)。尽管 OSSEC 或类似的任何其他应用程序可以使用第三方电子邮件提供商的 SMTP 服务器发送电子邮件警报,但它也可以使用本地(仅发送)SMTP 服务器。

这就是您将在本教程中学习如何做的内容:如何安装和配置 Postfix 作为仅发送的 SMTP 服务器。

注意: 如果您的用例是从服务器接收单个地址的通知,那么将电子邮件标记为垃圾邮件并不是一个重要的问题,因为您可以将其列入白名单。

如果您的用例是向潜在的站点用户发送电子邮件,比如消息板注册的确认电子邮件,那么您绝对应该执行步骤 5,这样您服务器的电子邮件更有可能被视为合法。如果您仍然遇到服务器的电子邮件被标记为垃圾邮件的问题,您将需要自行进行进一步的故障排除。

先决条件

请完成以下先决条件。

  • Ubuntu 14.04 Droplet
  • 完成初始设置。这意味着您应该拥有一个带有 sudo 权限的标准用户帐户
  • 拥有一个有效的域名,比如 example.com,指向您的 Droplet
  • 服务器的主机名应与此域名或子域名匹配。您可以通过在命令提示符下输入 hostname 来验证服务器的主机名。输出应与您在创建 Droplet 时给出的名称相匹配,比如 example.com

如果所有先决条件都已满足,那么您现在已经准备好进行本教程的第一步了。

步骤 1 — 安装 Postfix

在这一步中,您将学习如何安装 Postfix。安装 Postfix 和其他用于测试电子邮件的程序的最有效方法是通过输入以下命令来安装 mailutils 软件包:

sudo apt-get install mailutils

安装 mailutils 也会导致安装 Postfix,以及一些其他 Postfix 运行所需的程序。在输入该命令后,您将看到类似以下输出:

The following NEW packages will be installed:
guile-2.0-libs libgsasl7 libkyotocabinet16 libltdl7 liblzo2-2 libmailutils4 libmysqlclient18 libntlm0 libunistring0 mailutils mailutils-common mysql-common postfix ssl-cert
0 upgraded, 14 newly installed, 0 to remove and 3 not upgraded.
Need to get 5,481 kB of archives.
After this operation, 26.9 MB of additional disk space will be used.
Do you want to continue? [Y/n]

按 ENTER 键进行安装。在安装过程的最后,您将看到一个窗口,其外观与下面的图像完全相同。默认选项是 Internet Site。这是本教程推荐的选项,因此按 TAB 键,然后按 ENTER 键。

!从菜单中选择 Internet Site,然后按 TAB 键选择 ,然后按 ENTER 键

之后,您将看到另一个窗口,其外观与下面的图像相同。System mail name 应与您在创建 Droplet 时分配给它的名称相同。如果显示的是子域名,比如 mars.example.com,请将其更改为 example.com。完成后,按 TAB 键,然后按 ENTER 键。

!输入您的域名,然后按 TAB 键选择 ,然后按 ENTER 键

安装成功后,继续进行第 2 步。

步骤 2 — 配置 Postfix

在这一步中,您将学习如何配置 Postfix,以便它只处理来自运行它的服务器的电子邮件发送请求,也就是说,只能来自 localhost。为了实现这一点,需要将 Postfix 配置为仅在 loopback 接口 上监听,这是服务器用于内部通信的虚拟网络接口。要进行更改,使用 nano 编辑器打开主 Postfix 配置文件。

sudo nano /etc/postfix/main.cf

打开文件后,向下滚动,直到看到以下代码块中显示的条目。

mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all

将读取 inet_interfaces = all 的行更改为 inet_interfaces = loopback-only。完成后,文件的相同部分现在应该如下所示:

mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only

您也可以使用 localhost 替换 loopback-only,这样修改后的部分也可以如下所示:

mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = localhost

编辑文件后,保存并关闭它(按下 CTRL+X,然后按 Y,然后按 ENTER)。之后,通过输入以下命令重新启动 Postfix:

sudo service postfix restart

步骤 3 —— 测试 SMTP 服务器是否能发送邮件

在这一步中,您将了解如何测试 Postfix 是否能够向任何外部电子邮件账户发送邮件。您将使用 mail 命令,该命令是 Step 1 中安装的 mailutils 软件包的一部分。

要发送测试邮件,请输入:

echo "This is the body of the email" | mail -s "This is the subject line" user@example.com

在进行您自己的测试时,您可以使用原样的正文和主题行文本,也可以根据自己的喜好进行更改。但是,在 user@example.com 的位置,请使用有效的电子邮件地址,其中域部分可以是 gmail.comfastmail.comyahoo.com 或您使用的任何其他电子邮件服务提供商。

现在检查您发送测试消息的电子邮件地址。

您应该在收件箱中看到该消息。如果没有,请检查您的垃圾邮件文件夹。

注意: 使用此配置,您发送的测试邮件中 From 字段的地址将是 sammy@example.com,其中 sammy 是您的 Linux 用户名,域部分是服务器的主机名。如果您更改用户名,From 地址也将更改。

步骤 4 —— 转发系统邮件

我们要设置的最后一件事是转发,以便您可以将发送到系统上的 root 邮件转发到您的个人外部电子邮件地址。

要配置 Postfix,使系统生成的邮件将发送到您的电子邮件地址,您需要编辑 /etc/aliases 文件。

sudo nano /etc/aliases

在默认安装的 Ubuntu 14.04 上,文件的完整内容如下所示:

# See man 5 aliases for format
postmaster:    root

通过该设置,系统生成的邮件将发送到 root 用户。您要做的是编辑它,以便将这些邮件重定向到您的电子邮件地址。为此,请编辑文件,使其如下所示:

# See man 5 aliases for format
postmaster:    root
root:          sammy@example.com

sammy@example.com 替换为您的个人电子邮件地址。完成后,保存并关闭文件。要使更改生效,请运行以下命令:

sudo newaliases

您现在可以通过以下命令向 root 账户发送电子邮件来测试它是否有效:

echo "This is the body of the email" | mail -s "This is the subject line" root

您应该会在您的电子邮件地址收到该邮件。如果没有,请检查您的垃圾邮件文件夹。

(可选)步骤 5 —— 保护您的域免受垃圾邮件的侵害

在这一步中,您将获得一些文章的链接,以帮助您保护您的域免受被用于发送垃圾邮件的侵害。这是一个可选但强烈推荐的步骤,因为如果配置正确,这将使使用您域名作为发件人地址发送垃圾邮件变得困难。

进行这些额外的配置步骤还将使常见的邮件提供商更有可能将来自您服务器的邮件视为合法邮件,而不是标记为垃圾邮件。

  • 如何使用 SPF 记录防止欺骗和提高电子邮件可靠性
  • 如何在 Debian Wheezy 上安装和配置 DKIM 与 Postfix
  • 此外,请确保服务器的 PTR 记录与邮件服务器在发送消息时使用的主机名匹配。在 DigitalOcean,您可以通过在控制面板中更改 Droplet 的名称来更改 PTR 记录

尽管第二篇文章是为 Debian Wheezy 编写的,但相同的步骤也适用于 Ubuntu 14.04。


目录
相关文章
|
22天前
|
Ubuntu 机器人 定位技术
Loam在Ubuntu 18.04上的一站式安装指南
现在,你已经完成了Loam在Ubuntu 18.04上的一站式安装盛宴。从更新系统清洁,到搭建魔法环境的工作空间,再到召唤和激活Loam精髓的艺术——每步都妙不可言,每步都至关重要,让你在这场技术的饕餮盛宴中大显身手。
48 8
|
23天前
|
Ubuntu 安全 数据安全/隐私保护
在Docker容器中部署GitLab服务器的步骤(面向Ubuntu 16.04)
现在,你已经成功地在Docker上部署了GitLab。这就是我们在星际中的壮举,轻松如同土豆一样简单!星际旅行结束,靠岸,打开舱门,迎接全新的代码时代。Prepare to code, astronaut!
108 12
|
1月前
|
存储 Ubuntu Docker
Ubuntu 安装 docker
本文介绍了在 Ubuntu 系统上安装 Docker 的详细步骤,包括卸载旧版本、设置 Docker 官方存储库、安装 Docker 包以及配置镜像源加速。首先通过移除旧版组件如 `docker.io` 和 `docker-compose` 等进行清理,然后添加官方 GPG 密钥并配置 APT 源,接着安装最新 Docker 组件。此外,还提供了阿里云和 1Panel 的镜像源配置方法以提升下载速度,并通过运行 `hello-world` 镜像测试安装是否成功。
823 3
Ubuntu 安装 docker
|
2月前
|
Ubuntu 开发工具
Ubuntu环境下以源码编译方式安装Vim的步骤介绍
以上就是在Ubuntu环境下以源码编译方式安装Vim的全部步骤。就像煮一杯咖啡,虽然过程中需要耐心和一些技巧,但等到你熟悉之后,你会发现,不仅可以定制自己喜欢的口味,过程中的乐趣也是不能忽视的。希望你在编译安装Vim的过程中,能体验到这份乐趣。
113 21
|
2月前
|
Ubuntu 机器人 Shell
在Jetson TX2的Ubuntu18.04系统中安装ROS的教程
所有这些步骤并不复杂,但确实需要仔细一点。如果遇到问题,不要灰心,问题是解决问题的开始。保持耐心,细心阅读错误信息,通常情况下,问题的答案就藏在其中。祝ROS旅程顺利!
92 18
|
2月前
|
Ubuntu 定位技术 开发工具
在Ubuntu 20.04系统中安装SLAM库的具体操作步骤
以上是在Ubuntu 20.04系统中安装SLAM库的具体操作步骤。就像积木游戏,需要按照正确的步骤,适时地添加正确的部件,才能够构建出我们想要的积木模型。在现实操作中可能会遇到各种问题,就像积木构建中的各种困难,我们要有耐心和决心去解决它们,最后得到我们想要的结果。希望这个有趣的积木游戏比方能帮助你更好地理解SLAM库的安装过程,并在实际操作中得到应用。
97 34
|
2月前
|
Kubernetes Ubuntu Linux
阿里云服务器使用centos还是ubuntu?
在选择阿里云服务器操作系统时,CentOS和Ubuntu各有优势。CentOS以企业级稳定性著称,适合数据库、ERP等长期稳定需求;而Ubuntu开发者友好,支持最新硬件与功能,更适合开发/测试环境及云计算场景。两者在阿里云上均有官方镜像支持,性能差异可忽略。无特殊需求时推荐Ubuntu 22.04 LTS,若需RHEL生态则选AlmaLinux。根据实际需求、团队技术栈及场景灵活决策,阿里云还支持更换系统盘降低试错成本。
|
2月前
|
Ubuntu 网络协议 应用服务中间件
在 Ubuntu 上安装 Nginx
在 Ubuntu 上安装和配置 Nginx 非常简单。首先更新系统包,然后通过 `apt` 安装 Nginx,检查服务状态并配置防火墙规则。访问服务器 IP 测试是否成功显示默认页面。还可管理服务、创建虚拟主机及排查常见问题,适合新手快速上手部署高性能 Web 服务。
280 0
|
2月前
|
Kubernetes Ubuntu 容器
在Ubuntu上安装kubectl、kubeadm和kubelet
好了,你已经掌握了在Ubuntu上安装kubectl、kubeadm和kubelet的高超技艺。是时候展示你新召唤出的力量,像一位真正的烹饪大师一样,开始独特的佳肴烹饪之旅吧!
120 13
|
3月前
|
Ubuntu 关系型数据库 MySQL
在Ubuntu 22.04上配置和安装MySQL
以上就是在Ubuntu 22.04上配置和安装MySQL的步骤。这个过程可能看起来有点复杂,但只要按照步骤一步步来,你会发现其实并不难。记住,任何时候都不要急于求成,耐心是解决问题的关键。
324 30