如何在 Linux 中配置 Postfix 和 Dovecot 与虚拟域名用户?


简介

配置 Postfix 和 Dovecot 与虚拟域名用户对于任何运行基于 Linux 的电子邮件服务器的人来说都是一个必不可少的流程。这两个软件应用程序是电子邮件服务器的支柱,它们协同工作以处理传入和传出的电子邮件。Postfix 是邮件传输代理,负责接收传入的电子邮件。

另一方面,Dovecot 是电子邮件投递代理,负责将传入的电子邮件投递到用户的邮箱。在本文中,我们将提供有关如何在 Linux 中配置 Postfix 和 Dovecot 与虚拟域名用户的详细指南。

Postfix 和 Dovecot 的解释

Postfix 是一个开源的 MTA(邮件传输代理),用于路由和传递电子邮件消息。它允许您使用 SMTP(简单邮件传输协议)在服务器或个人之间发送和接收电子邮件。Postfix 可以单独工作,但需要像 Dovecot 这样的投递代理来将邮件投递到本地用户邮箱。

另一方面,Dovecot 是一个开源的 MDA(邮件投递代理),它将传入的电子邮件分类到用户邮箱中的特定文件夹中,用户可以通过客户端(如 Mozilla Thunderbird 或 Microsoft Outlook)从这些文件夹中检索电子邮件。它支持多种协议,例如 IMAP(互联网邮件访问协议)、POP3(邮局协议版本 3)和 LMTP(本地邮件传输协议)。

设置 Postfix

在 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 文件中配置的参数,用于指定哪些域将虚拟存储其邮箱。

为每个域名/用户组合创建虚拟邮箱映射列表

虚拟邮箱映射是将用户电子邮件映射到其电子邮件将虚拟存储的特定目录的文件。必须为上一步中指定的每个域名/用户组合创建这些文件。这些文件的语法如下:

`[email protected] domain.com/username/` 这会创建一个映射,其中发送到 [email protected] 的任何电子邮件都将存储在目录 domain.com/username/ 中。

启用 SMTP 身份验证以进行安全的电子邮件传输

SMTP 身份验证允许客户端在使用 SMTP(简单邮件传输协议)发送电子邮件时进行身份验证,以便只有授权用户才能通过您的服务器发送邮件。要启用 SMTP 身份验证,必须在 main.cf 文件中将 smtpd_sasl_auth_enable 参数设置为 yes。

这将允许用户在发送电子邮件之前使用用户名和密码进行身份验证,从而提供额外的安全层。设置 Postfix 包括在 Linux 系统上安装它,配置 main.cf 文件以用于虚拟域名和用户,为虚拟别名映射和邮箱域设置参数,为每个域名/用户组合创建虚拟邮箱映射,以及启用 SMTP 身份验证以进行安全的电子邮件传输。

设置 Dovecot

在 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` 中创建一个新文件,并添加以下行:

[email protected]:{PLAIN}password1:::::: 
[email protected]:{PLAIN}password2::::::  

将 `[email protected]` 和 `[email protected]` 替换为您自己的虚拟域名用户的电子邮件地址,并相应地设置其密码。

配置 mail_location 参数以指定电子邮件存储位置

我们需要指定 Dovecot 应该将传入的电子邮件存储在哪里。我们可以通过在 `dovecot.conf` 文件中设置 `mail_location` 参数来做到这一点。默认情况下,它设置为如下:

mail_location = mbox:~/mail:INBOX=/var/mail/%u   

这告诉 Dovecot 将邮件消息以邮箱格式(`mbox`)存储在每个用户的 home 目录(`~/mail`)中。

对于我们的虚拟域名用户,我们希望根据其电子邮件地址将其电子邮件存储在单独的目录中。为此,请将上述行更改为:

mail_location = maildir:/var/mail/virtual/%d/%n     

这将以 `maildir` 格式将电子邮件存储在 `/var/mail/virtual/` 目录中,并为每个域(`%d`)和用户(`%n`)创建子目录。

疑难解答常见问题

配置过程中可能出现的常见问题,例如

有时,即使正确遵循了所有步骤,在配置 Postfix 和 Dovecot 期间也可能会出现问题。用户面临的一些常见问题是虚拟邮箱映射不正确、SSL/TLS 证书配置错误或密码不匹配。

如果出现任何这些问题,则必须检查日志文件以获取调试数据和错误消息。日志文件可以在 /var/log/mail.log(用于 Postfix)和 /var/log/dovecot.log(用于 Dovecot)中找到。

这些文件包含有关启动或运行期间的任何错误或警告的信息。如果虚拟邮箱映射存在问题,请确保它在 Postfix 的 main.cf 文件中已正确配置。

确保您已更新 DNS 设置以包含虚拟邮箱映射中使用的主机名。如果您在尝试使用 Dovecot 连接到电子邮件服务器时遇到 SSL/TLS 证书错误,请首先检查是否已使用 Let's Encrypt 或其他证书颁发机构为您的域设置了有效的 SSL/TLS 证书。

如果在登录尝试期间存在身份验证问题(例如用户数据库和电子邮件客户端软件之间的密码不匹配),请仔细检查所有密码。请记住,密码区分大小写,并且不包含多余的空格。

结论

在 Linux 上配置 Postfix 和 Dovecot 与虚拟域名用户可能具有挑战性,但也非常有益。了解它们如何协同工作以提供安全的电子邮件通信将使处理 Web 应用程序更加简单,同时维护当今许多业务运营中必要的机密性和安全标准。在 Linux 发行版(如 Ubuntu Server 18.x/20.x LTS 版本)上配置电子邮件服务器设置时,如果仔细注意上述每个步骤,将证明是成功的!

更新于:2023-07-11

1K+ 浏览量

开启你的职业生涯

完成课程获得认证

开始学习
广告