介绍
Postfix 是一个非常流行的开源邮件传输代理(MTA),可以用于在 Linux 系统上路由和传递电子邮件。据估计,全球约 25% 的公共邮件服务器在互联网上运行 Postfix。
在本指南中,我们将教你如何在 Ubuntu 14.04 服务器上快速启动和运行 Postfix。
先决条件
为了遵循本指南,你应该拥有一个指向 Ubuntu 14.04 服务器的完全合格的域名。你可以点击这里找到有关在 DigitalOcean 上设置域名的帮助。
安装软件
在 Ubuntu 14.04 上安装 Postfix 的过程很容易,因为该软件位于 Ubuntu 的默认软件包存储库中。
由于这是我们在本次会话中使用 apt
的第一个操作,我们将首先更新本地软件包索引,然后安装 Postfix 软件包:
sudo apt-get update sudo apt-get install postfix
系统会询问你希望为服务器设置什么类型的邮件配置。出于我们的目的,我们将选择 “Internet Site”,因为该描述最符合我们的服务器。
接下来,系统会要求你输入服务器的完全合格域名(FQDN)。这是你的完整域名(如 example.com
)。从技术上讲,FQDN 需要以点结尾,但 Postfix 不需要这样。因此,我们可以直接输入如下:
example.com
软件现在将使用你提供的设置进行配置。这完成了安装,但我们仍然需要配置安装过程中未提示的其他项目。
配置 Postfix
我们需要在主 Postfix 配置文件中更改一些基本设置。
首先,使用 root 权限在文本编辑器中打开此文件:
sudo nano /etc/postfix/main.cf
首先,我们需要找到 myhostname
参数。在配置过程中,我们选择的 FQDN 已添加到 mydestination
参数中,但 myhostname
仍设置为 localhost
。我们也希望将其指向我们的 FQDN:
myhostname = <span class="highlight">example.com</span>
如果你希望配置邮件转发到其他域或希望将邮件传递到与系统帐户不是一对一映射的地址,我们可以删除 alias_maps
参数,并替换为 virtual_alias_maps
。然后,我们需要更改哈希的位置为 /etc/postfix/virtual
:
virtual_alias_maps = hash:/etc/postfix/virtual
正如我们上面所说,mydestination
参数已使用你在安装过程中输入的 FQDN 进行了修改。该参数保存了此 Postfix 安装要负责的任何域。它已配置为 FQDN 和本地主机。
要提及的一个重要参数是 mynetworks
参数。它定义了能够使用此邮件服务器的计算机。它应该设置为仅本地 (127.0.0.0/8
和其他表示)。修改此参数以允许其他主机使用此功能是一个巨大的漏洞,可能导致极端的垃圾邮件情况。
明确地说,该行应该设置如下。这应该会自动设置,但请在文件中双重检查该值:
mynetworks = <span class="highlight">127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128</span>
配置额外的电子邮件地址
我们可以通过创建别名来配置额外的电子邮件地址。这些别名可用于将邮件传递到系统上的其他用户帐户。
如果你希望使用此功能,请确保像我们上面演示的那样配置了 virtual_alias_maps
指令。我们将使用此文件来配置我们的地址映射。通过输入以下命令创建文件:
sudo nano /etc/postfix/virtual
在此文件中,你可以指定你希望在左侧创建的电子邮件,以及你希望将邮件传递到的用户名,如下所示:
<span class="highlight">blah@example.com username1</span>
对于我们的安装,我们将创建一些电子邮件地址,并将它们路由到一些用户帐户。我们还可以通过使用逗号分隔的列表设置某些地址转发到多个帐户:
blah@example.com demouser dinosaurs@example.com demouser roar@example.com root contact@example.com demouser,root
完成后保存并关闭文件。
现在,我们可以通过调用以下命令来实现我们的映射:
sudo postmap /etc/postfix/virtual
现在,我们可以重新加载我们的服务以读取我们的更改:
sudo service postfix restart
测试你的配置
你可以通过从你的常规电子邮件地址发送邮件到服务器上的用户帐户或你设置的别名之一,来测试你的服务器是否能够正确接收和路由邮件。
一旦你发送邮件到:
demouser@your_server_domain.com
你应该会收到邮件传递到 /var/mail
目录中与投递用户名匹配的文件中。例如,我们可以通过查看以下文件来阅读这条消息:
nano /var/mail/demouser
这将包含所有的电子邮件消息,包括头部信息,都在一个大文件中。如果你想以更友好的方式查看你的电子邮件,你可能需要安装一些辅助程序:
sudo apt-get install mailutils
这将让你可以使用 mail
程序来检查你的收件箱:
mail
这将为你提供一个与你的邮件交互的界面。
结论
你现在应该已经在你的服务器上配置了基本的电子邮件功能。
重要的是要保护你的服务器,并确保 Postfix 没有配置为开放中继。邮件服务器经常成为攻击者的目标,因为它们可以发送大量的垃圾邮件,所以一定要设置防火墙并实施其他安全措施来保护你的服务器。你可以在这里了解一些安全选项。