介绍
每天,我们都会收到大量电子邮件,但往往不清楚电子邮件发送和接收的底层机制。搭建邮件服务器看似令人生畏,但在合适的环境下,这完全可行。本实验不仅能让你亲身体验邮件服务器的工作原理,还能让你自己配置一个邮件服务器。深入了解技术的实践层面,提升你的数字通信技能!
🎯 任务
在本项目中,你将学习:
- 如何安装和配置 Postfix 邮件服务器
- 如何使用 Vim 编辑 Postfix 配置文件
- 如何创建本地用户并设置电子邮件地址映射以进行邮件路由
- 如何发送测试邮件并检查其投递情况
🏆 成果
完成本项目后,你将能够:
- 使用 Postfix 安装和配置邮件服务器
- 编辑配置文件以自定义邮件服务器设置
- 创建本地用户并设置电子邮件地址映射以实现高效的邮件路由
- 通过发送和接收邮件来测试服务器的功能
安装 Postfix
在这一步中,你将熟悉对于发送和接收电子邮件至关重要的常见邮件服务器软件。在本实验中,我们将重点关注 Postfix,它是一个以高效和模块化设计著称的现代 MTA(邮件传输代理)。Postfix 仍在积极开发中,使其适用于高流量环境。
打开终端,并通过以下命令安装 Postfix:
sudo apt-get update
sudo apt-get install postfix
在安装过程中,选择Internet Site作为服务器类型,因为它符合我们的服务器配置需求。在提示时将域名设置为labex.io。

配置 Postfix
在这一步中,你将使用 Vim(Linux 环境中一种流行的文本编辑器)来编辑 Postfix 配置文件。Vim 对于初学者来说可能比较复杂,所以请仔细按照这些说明来修改你的 Postfix 配置。
打开配置文件
在终端中输入以下命令,通过 Vim 打开main.cf文件:
sudo vim /etc/postfix/main.cf
进入插入模式
默认情况下,Vim 以“普通”模式启动,在该模式下你可以浏览文件但不能编辑文本。按下键盘上的i键进入“插入”模式,这样你就可以对文件进行更改了。
进行必要的更改
使用箭头键导航到你需要更改的行。你需要进行以下修改:
- 找到以
myhostname开头的行,并将其更改为myhostname = labex.io - 将
alias_maps行修改为alias_maps = hash:/etc/postfix/virtual
另外,我们还可以设置mynetworks部分,它定义了可以使用此服务器的主机。这里我们将只使用默认的本地地址。

保存并退出
- 进行必要的更改后,按下
Esc键退出插入模式并返回普通模式。 - 要保存更改并退出 Vim,输入
:wq(写入并退出),然后按下Enter键。 - 如果你想不保存更改就退出,输入
:q!并按下Enter键。
添加本地用户
创建一个名为“master”的用户,并设置其主目录和密码。
sudo useradd -m -d /home/master master
sudo passwd master
## 将密码设置为 "123456"
此命令创建一个名为 master 的用户,其中-d和-m选项用于为登录名 master 创建主目录/usr/master(默认用户主目录在/usr父目录中)。
编辑电子邮件地址映射
准备 Postfix 用于路由电子邮件的电子邮件地址映射文件。
echo "master@labex.io master" | sudo tee -a /etc/postfix/virtual
此命令将一行新内容追加到/etc/postfix/virtual文件中,将电子邮件地址master@labex.io映射到本地用户 master。Postfix 使用此文件来确定如何将电子邮件路由到本地用户。
应用映射
我们可以调用以下命令来应用我们的映射:
sudo postmap /etc/postfix/virtual
postmap 命令会处理对 virtual 文件所做的更改,更新 Postfix 用于路由电子邮件的数据库。
然后我们重启 Postfix 以完成我们的修改:
sudo service postfix restart
重启 Postfix 可确保所有配置更改立即生效。
发送测试邮件
安装 mailutils 并从另一个用户向“master”发送邮件。
sudo apt update
sudo apt-get install mailutils
安装 mailutils 以提供 mail 命令,该命令用于从命令行发送邮件。
echo "Hello, this is a test email." | mail -s "Test Email" master@labex.io
echo 命令将一条测试消息通过管道传输到 mail,mail 会将主题为“Test Email”的邮件发送到 master@labex.io。此步骤测试服务器接收邮件的能力。
检查邮件
然后我们切换到 master 用户来检查邮件。
## 输入我们之前设置的密码 "123456"
su master
## 检查邮件
mail
这些命令会切换到用户 master 并在终端中打开邮件客户端。这使你能够查看收件箱并确认已收到测试邮件,表明 Postfix 已正确配置以处理传入邮件。

按 Enter 键获取邮件的完整内容。

总结
在本实验中,我们从头到尾完成了在 Linux 上设置 Postfix 邮件服务器的过程,从安装到发送测试邮件。通过理解并实施邮件服务器的配置与管理,你在掌握电子邮件通信后端方面迈出了重要的一步。这些知识不仅提升了你的技术技能,还为进一步探索网络和服务器管理奠定了基础。



