专栏首页云计算教程系列如何在Debian 9上安装和配置Postfix作为仅发送SMTP服务器
原创

如何在Debian 9上安装和配置Postfix作为仅发送SMTP服务器

介绍

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

你为什么想这么做?

如果您已使用第三方电子邮件提供商发送和接收电子邮件,则无需运行自己的邮件服务器。但是,如果您管理已安装需要发送电子邮件通知的应用程序的云服务器,则运行本地仅发送SMTP服务器是使用第三方电子邮件服务提供商或运行完整SMTP的良好替代方案服务器。

在本教程中,您将在Debian 9上安装和配置Postfix作为仅发送SMTP服务器。

先决条件

要学习本教程,您需要:

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

第1步 - 安装Postfix

在此步骤中,您将学习如何安装Postfix。您将需要两个包:mailutils,其中包括Postfix运行所必需的程序,以及postfix本身。

首先,更新包数据库:

sudo apt update

接下来,安装mailtuils

sudo apt install mailutils

最后,安装postfix

sudo apt install postfix

在安装过程即将结束时,您将看到一个类似于下图中的窗口的窗口。默认选项是Internet Site。这是本教程的推荐选项,请按TAB,然后按ENTER

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

您现在已安装Postfix,并准备修改其配置设置。

第2步 - 配置Postfix

在此步骤中,您将配置Postfix以处理仅从运行它的服务器发送电子邮件的请求,即来自localhost

为此,需要将Postfix配置为仅侦听环回接口,即服务器用于内部通信的虚拟网络接口。要进行更改,请使用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
. . .

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

. . .
mydestination = $myhostname, example.com, localhost.com, , localhost
. . .

此指令的建议默认值在下面的代码块中给出,因此请修改以匹配:

. . .
mydestination = $myhostname, localhost.$your_domain, $your_domain
. . .

保存并关闭文件。

注意:如果您在一台服务器上托管多个域,则其他域也可以使用该mydestination指令传递给Postfix 。但是,以缩放的方式配置Postfix并且不会出现此类设置的问题涉及超出本文范围的其他配置。

最后,重启Postfix。

sudo systemctl restart postfix

第3步 - 测试SMTP服务器

在此步骤中,您将测试Postfix是否可以使用该mail命令将电子邮件发送到外部电子邮件帐户,该命令是您在步骤1中安装的mailutils软件包的一部分。

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

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

Debian 9默认安装文件的全部内容如下:

mailer-daemon: postmaster
postmaster: root
nobody: root
hostmaster: root
usenet: root
news: root
webmaster: root
www: root
ftp: root
abuse: root
noc: root
security: root

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

mailer-daemon: postmaster
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,以便您的服务器电子邮件更有可能被视为合法。

更多Debian教程请前往腾讯云+社区学习更多知识。


参考文献:《How To Install and Configure Postfix as a Send-Only SMTP Server on Debian 9》

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 使用Debian 9进行初始服务器设置

    当您第一次创建新的Debian 9服务器时,您应该尽早采取一些配置步骤作为基本设置的一部分。这将提高服务器的安全性和可用性,并为后续操作奠定坚实的基础。

    八十岁的背影
  • 如何在Ubuntu 14.04上使用Rsyslog,Logstash和Elasticsearch集中日志

    了解组织生成的数百万条日志行是一项艰巨的挑战。一方面,这些日志行提供了应用程序性能,服务器性能指标和安全性的视图。另一方面,日志管理和分析可能非常耗时,这可能会...

    八十岁的背影
  • 如何在Windows 10上安装Python 3并设置本地编程环境

    Python是一种多功能编程语言,可用于许多不同的编程项目。1991年首次出版,其名称灵感来自英国喜剧组织Monty Python,开发团队希望使Python成...

    八十岁的背影
  • 人在江湖

    截图中谈到的MVC是Asp.net MVC,三年前还在公司范围内做MVC培训,三年没接触后我已经差不多忘光了…

    IT晴天
  • Python爬虫进阶必备 | XX快药 sign 加密分析与加密逻辑复写

    aHR0cDovL3d3dy5kZGt5LmNvbS9jb21tb2RpdHkuaHRtbD9kZGt5Y2FjaGU9YTdiMTllODc5ZDJmMmYy...

    叫我龙总
  • 菜鸟需要了解的swoole的基础知识

    首先讲下swoole是什么 swoole官网:www.easyswoole.com;轻松学swoole的框架:www.easyswoole.com

    仙士可
  • Python爬虫进阶必备 | XX快药 sign 加密分析与加密逻辑复写

    aHR0cDovL3d3dy5kZGt5LmNvbS9jb21tb2RpdHkuaHRtbD9kZGt5Y2FjaGU9YTdiMTllODc5ZDJmMmYy...

    咸鱼学Python
  • 利用约束优先级解决Autolayout冲突

    当你在运行程序的时候,发现Xcode的终端打印了一些控件的布局冲突信息时,类似于如下:

    用户6094182
  • yii2使用magrate新增权限流程

    1、到项目根目录(必须是项目环境中,如我的是在虚拟机中:[root@localhost crm]# php ./yii migrate/create user_...

    botkenni
  • SpringBoot核心技术:Actuator远程关闭服务“黑科技”

    博客原文地址 之前章节介绍了Actuator对服务系统监控相关的知识点,了解到了开放指定监控节点、查看详细健康信息,我们本章来介绍下Actuator的黑科技,...

    恒宇少年

扫码关注云+社区

领取腾讯云代金券