如何在 Linux 中使用虚拟域用户配置 Postfix 和 Dovecot?
介绍
对于任何运行基于 Linux 的电子邮件服务器的人来说,使用虚拟域用户配置 Postfix 和 Dovecot 是一个重要的过程。这两个软件应用程序是电子邮件服务器的支柱,它们协同工作来处理传入和传出的电子邮件。 Postfix 是负责接收传入电子邮件的邮件传输代理。
另一方面,Dovecot 是电子邮件传送代理,负责将传入的电子邮件传送到用户的邮箱。在本文中,我们将提供有关如何在 Linux 中使用虚拟域用户配置 Postfix 和 Dovecot 的详细指南。
Postfix和Dovecot的解释
Postfix 是一个开源 MTA(邮件传输代理),用于路由和传送电子邮件。它允许您使用 SMTP(简单邮件传输协议)在服务器或个人之间发送和接收电子邮件。 Postfix 可以单独工作,但需要像 Dovecot 这样的投递代理将邮件投递到本地用户邮箱。
另一方面,Dovecot 是一个开源 MDA(邮件传递代理),它将传入的电子邮件分类到用户邮箱中的特定文件夹中,Mozilla Thunderbird 或 Microsoft Outlook 等客户端可以从其中检索电子邮件。它支持多种协议,例如 IMAP(互联网消息访问协议)、POP3(邮局协议版本 3)和 LMTP(本地邮件传输协议)。
设置后缀
在 Linux 上安装 Postfix
在配置Postfix之前,必须将其安装在Linux系统上。 Postfix 的安装过程因所使用的发行版而异,但通常可以通过包管理器来完成。例如,在 Ubuntu 中,可以通过运行命令“sudo apt-get install postfix”来完成此操作。
sudo apt-get install postfix
为虚拟域和用户配置 main.cf 文件
Postfix 的主配置文件位于 /etc/postfix/main.cf。该文件包含指示如何接收和发送用户电子邮件的参数。要在 Postfix 中配置虚拟域和用户,必须在此文件中设置几个参数。
设置 virtual_alias_maps 和 virtual_mailbox_domains 参数
Virtual_alias_maps 是将电子邮件地址映射到其他电子邮件地址或别名的参数。必须在 main.cf 文件中设置此参数,以允许用户接收定向到其虚拟电子邮件地址的电子邮件。 Virtual_mailbox_domains 是必须在 main.cf 文件中配置的另一个参数,用于指定哪些域将虚拟存储其邮箱。
为每个域/用户组合创建虚拟邮箱映射列表
虚拟邮箱映射是将用户电子邮件映射到虚拟存储其电子邮件的特定目录的文件。必须为上一步中指定的每个域/用户组合创建这些文件。这些文件的语法如下:
`username@domain.com domain.com/username/` 这将创建一个映射,发送到 username@domain.com 的任何电子邮件都将存储在目录 domain.com/username/ 中。
启用 SMTP 身份验证以确保电子邮件安全传输
SMTP 身份验证允许客户端在使用 SMTP(简单邮件传输协议)发送电子邮件时对自己进行身份验证,以便只有授权用户才能通过您的服务器发送邮件。要启用 SMTP 身份验证,必须在 main.cf 文件中将 smtpd_sasl_auth_enable 参数设置为 yes。
这将允许用户在发送电子邮件之前使用用户名和密码进行身份验证,从而提供额外的安全层。设置 Postfix 涉及在 Linux 系统上安装它、为虚拟域和用户配置 main.cf 文件、为虚拟别名映射和邮箱域设置参数、为每个域/用户组合创建虚拟邮箱映射以及为每个域/用户组合启用 SMTP 身份验证。安全的电子邮件传输。
设置鸽舍
在 Linux 上安装 Dovecot
Dovecot 是一个开源 IMAP 和 POP3 服务器,可以使用包管理器轻松安装在 Linux 系统上。要安装 Dovecot,请运行以下命令 -
sudo apt-get update
sudo apt-get install dovecot-core dovecot-imapd dovecot-pop3d
这将安装 Dovecot 的核心组件以及 IMAP 和 POP3 守护程序。
为虚拟域和用户配置 dovecot.conf 文件
安装完成后,就可以配置 Dovecot 以与我们的虚拟域和用户一起使用。在您喜欢的文本编辑器中打开“/etc/dovecot/dovecot.conf”文件。在文件中找到以下部分 -
# Protocols we want to be serving. !include_try /usr/share/dovecot/protocols.d/*.protocol
protocols = imap pop3 lmtp # SSL/TLS support: yes, no, required
ssl = no # PEM encoded X.509 SSL/TLS certificate and private key.
# These are used for all services that use SSL/TLS. ssl_cert =
ssl_key =
passdb { driver = passwd-file
args = scheme=CRYPT username_format=%u /etc/postfix/virtual-users } userdb {
driver = static args =
uid=vmail gid=vmail home=/var/mail/%d/%n allow_all_users=yes }
确保这些部分未被注释(每行开头没有#)并根据您的需要进行修改。
启用 SSL/TLS 加密以实现安全电子邮件检索
默认情况下,通过互联网传输的电子邮件并不安全,这意味着任何人都可以拦截和阅读您的电子邮件。为了防止这种情况,我们需要启用 SSL/TLS 加密来安全地检索电子邮件。
在“dovecot.conf”文件中,将“ssl”参数设置为“yes”。这将使 Dovecot 能够对传入电子邮件使用加密连接。
使用散列密码创建用户数据库
当用户尝试检索电子邮件时,Dovecot 需要用户数据库来对用户进行身份验证。我们可以使用纯文本文件或外部数据库(例如 MySQL 或 PostgreSQL)创建此数据库。为简单起见,我们将在本示例中使用纯文本文件方法。
在 `/etc/dovecot/users` 创建一个新文件并添加以下行 -
user1@virtualdomain.com:{PLAIN}password1::::::
user2@virtualdomain.com:{PLAIN}password2::::::
将 `user1@virtualdomain.com` 和 `user2@virtualdomain.com` 替换为您自己的虚拟域用户的电子邮件地址,并相应地设置其密码。
配置 mail_location 参数以指定电子邮件的存储位置
我们需要指定 Dovecot 应存储传入电子邮件的位置。我们可以通过在“dovecot.conf”文件中设置“mail_location”参数来做到这一点。默认情况下,其设置如下 -
mail_location = mbox:~/mail:INBOX=/var/mail/%u
这告诉 Dovecot 以邮箱格式 (`mbox`) 将邮件消息存储在每个用户的主目录 (`~/mail`) 中。
对于我们的虚拟域用户,我们希望根据他们的电子邮件地址将他们的电子邮件存储在单独的目录中。为此,请将上面的行更改为 -
mail_location = maildir:/var/mail/virtual/%d/%n
这将以“maildir”格式将电子邮件存储在“/var/mail/virtual/”目录中,其中包含每个域(“%d”)和用户(“%n”)的子目录。
常见问题故障排除
配置过程中可能出现的常见问题,例如
有时,即使正确执行了所有步骤,Postfix 和 Dovecot 的配置过程中也可能会出现问题。用户面临的一些常见问题是虚拟邮箱映射不正确、SSL/TLS 证书配置错误或密码不匹配。
如果发生任何这些问题,检查日志文件中的调试数据和错误消息至关重要。日志文件可以在 Postfix 的 /var/log/mail.log 和 Dovecot 的 /var/log/dovecot.log 中找到。
这些文件包含有关启动或操作期间任何错误或警告的信息。如果虚拟邮箱映射存在问题,请确保在 Postfix 的 main.cf 文件中正确配置它。
确保您已更新 DNS 设置以包含虚拟邮箱映射中使用的主机名。如果您在尝试使用 Dovecot 连接到电子邮件服务器时遇到 SSL/TLS 证书错误,请首先检查您是否已使用 Let's Encrypt 或其他证书颁发机构为您的域设置了有效的 SSL/TLS 证书。
如果在登录尝试期间存在身份验证问题,例如用户数据库和电子邮件客户端软件之间的密码不匹配,请仔细检查所有密码。请记住,密码区分大小写,不包含多余的空格。
结论
在 Linux 上为虚拟域用户配置 Postfix 和 Dovecot 可能具有挑战性,但也是有益的。了解它们如何协同工作以提供安全的电子邮件通信将使处理 Web 应用程序更加简单,同时维护当今许多业务运营中必需的机密性和安全标准。在 Ubuntu Server 18.x/20.x LTS 版本等 Linux 发行版上配置电子邮件服务器设置时,请仔细注意上述每个步骤,事实证明,LTS 版本将会成功!