如何安装和配置Postfix的作为在Ubuntu 16.04一个只发送SMTP服务器

介绍

是一个邮件传输代理 (MTA),用来发送和接收电子邮件的应用程序。 在本教程中,我们将安装和配置Postfix,以便它可以用于仅由本地应用程序发送电子邮件 - 即安装在安装Postfix的同一服务器上的邮件。

你为什么要这样做?

如果您已经在使用第三方电子邮件提供程序发送和接收电子邮件,则不需要运行自己的邮件服务器。 但是,如果您管理已安装了需要发送电子邮件通知的应用程序的云服务器,则运行本地的仅发送SMTP服务器是使用第三方电子邮件服务提供商或运行完全成熟的SMTP服务器。

在本教程中,您将了解如何将Postfix安装和配置为仅发送SMTP服务器。

先决条件

要遵循本教程,您需要:

请注意,您的服务器的主机名应与此域或子域相匹配。 您可以通过键入验证服务器的主机名hostname在命令提示符下。 输出应该与您在创建Droplet时给出的名称相匹配。

第1步 - 安装Postfix

在此步骤中,您将了解如何安装Postfix。 安装Postfix和测试所需的电子邮件其他程序的最有效方式是安装mailutils包。

首先,更新包数据库:

sudo apt-get update

最后,安装Postfix。 安装mailtuils将安装Stapling以及运作需要Postfix的一些其他程序。

sudo apt install mailutils

接近安装过程的结束,您将看到一个窗口,看起来像下面的图像中的一个。 默认选项是互联网站点 这就是本教程推荐的选项,因此按TAB ,然后ENTER

从菜单中选择Internet站点,然后按TAB键选择<确定>,然后按ENTER键

之后,你会得到另一个窗口,就像下一个图像中的一个。 系统邮件名称应该是一样的,你分配给服务器,当你在创造它的名字。 如果它显示像一个子域subdomain.example.com ,改变它只是example.com 当您完成后,按TAB ,然后ENTER

输入您的域名,然后按TAB键选择<确定>,ENTER

安装成功完成后,继续执行第二步。

第2步 - 配置Postfix

在这一步,你会读到如何Stapling配置来处理请求只能从其所运行的服务器,也就是说,是从本地主机发送电子邮件。

要做到这一点,Postfix的需要进行配置为只监听loopback接口 ,该服务器用来内部交流的虚拟网络接口。 要进行更改,使用打开主Postfix的配置文件nano或您喜爱的文本编辑器。

sudo nano /etc/postfix/main.cf

打开文件,向下滚动,直到看到以下部分。

/etc/postfix/main.cf
. . .
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
. . .

更改读取的行inet_interfaces = allinet_interfaces = loopback-only

/etc/postfix/main.cf
. . .
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = loopback-only
. . .

你需要修改另一个指令是mydestination ,它是用来指定要通过传送域列表local_transport邮件传递运输。 默认情况下,值类似于以下值:

/etc/postfix/main.cf. . .
mydestination = $myhostname, example.com, localhost.com, , localhost
. . .

建议缺省的有关该方案在下面的代码块中给出,所以修改你的匹配:

/etc/postfix/main.cf. . .
mydestination = $myhostname, localhost.$mydomain, $mydomain
. . .

保存并关闭文件。

如果你在一台服务器上托管多个领域,其他领域也可以使用传递给Postfix的mydestination指令。 但是,要以一种扩展的方式配置Postfix,并且不会出现这种设置的问题,则涉及超出本文范围的其他配置。

最后,重新启动Postfix。

sudo systemctl restart postfix

第3步 - 测试SMTP服务器

在这个步骤中,您将测试是否Stapling可以发送电子邮件到使用外部电子邮件帐户mail命令,这是一部分mailutils已安装在第1步包。

要发送测试电子邮件,请键入:

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

在执行您自己的测试时,您可以使用主体和主题行文本,或根据您的喜好更改它们。 然而,在地方your_email_address ,使用有效的电子邮件地址。 域部分可以gmail.comfastmail.comyahoo.com ,或者你使用任何其他电子邮件服务提供商。

现在检查您发送测试消息的电子邮件地址。 您应该在收件箱中看到该邮件。 如果没有,请检查您的垃圾邮件文件夹。

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

第4步 - 转发系统邮件

我们要建立的就是转发,所以你会得到你的个人的,外部的电子邮件地址发送给root用户系统上的电子邮件。

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

sudo nano /etc/aliases

Ubuntu 16.04的默认安装文件的完整内容如下:

/ etc / aliases
# See man 5 aliases for format
postmaster:    root

使用该设置,系统生成的电子邮件将发送到root用户。 您要做的是编辑它,以便这些电子邮件重新路由到您的电子邮件地址。 要完成此操作,请编辑文件,使其显示为:

/etc/aliases# See man 5 aliases for format
postmaster:    root
root:          your_email_address

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

sudo newaliases

您现在可以通过使用以下方式向root帐户发送电子邮件来测试其是否工作:

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

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

结论

这是使用Postfix设置只发送电子邮件服务器所需要的。 您可能需要采取一些额外的步骤来保护您的域免受垃圾邮件制造者的攻击。

如果您的使用案例是从单一地址接收来自您的服务器的通知,则电子邮件被标记为垃圾邮件是一个主要问题,因为您可以将其列入白名单。 但是,如果您的使用案例是向潜在的网站用户发送电子邮件(如留言板注册的确认电子邮件),则您一定要设置SPF记录和DKIM,以便服务器的电子邮件更有可能被视为合法。

如果配置正确,这会使发送垃圾邮件的地址似乎来自您的域名很难。 执行这些额外的配置步骤也将使普通邮件提供商更有可能将您的服务器的电子邮件看作是合法的。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏