拥有域名和服务器前提下,基于Postfix + Dovecot + Roundcube + LEMP堆栈搭建邮箱系统。
前言
Postfix: Postfix 是一个邮件传输代理 (Mail Transfer Agent,MTA),主要用于邮件的发送和路由。它使用 SMTP(Simple Mail Transfer Protocol)协议来接收、发送和路由电子邮件,监听端口 25(SMTP)、465(SMTP secure)和587(SMTP Submission)。Postfix 提供了与外部邮件服务器通信的接口,以及与本地邮件交付代理(如 Dovecot)通信的接口。
Dovecot: Dovecot 是一个安全的邮件接收代理 (Mail Delivery Agent,MDA),用于存储和提供用户的电子邮件。它支持 IMAP(Internet Message Access Protocol)和 POP3(Post Office Protocol version 3)协议,监听端口 143(IMAP)和 110(POP3)。Dovecot 提供了接收邮件的接口,允许用户通过这些协议来访问和管理他们的收件箱。
Roundcube: Roundcube 是一个基于 Web 的邮件客户端,用于访问和管理电子邮件。它提供了一个直观和易于使用的界面,允许用户通过 Web 浏览器发送、接收和组织电子邮件。Roundcube 支持多种邮件协议,包括 IMAP 和 SMTP,可以与不同的邮件服务器集成使用。它具有强大的搜索、过滤和组织邮件的功能,支持多语言界面和插件扩展。
LEMP堆栈: LEMP堆栈(Linux、Nginx、MySQL/MariaDB、PHP)的组合使其成为一种强大的Web应用程序开发和托管环境。Nginx提供了快速、可靠的Web服务器和反向代理功能,MySQL或MariaDB提供了可靠的数据库存储,而PHP-FPM允许处理PHP脚本,从而构建出强大的Web应用程序。整个堆栈在Linux操作系统上运行,确保了稳定性和安全性。
以下是大致的收发信流程:


一、域名和服务器
本文示例域名使用a.com,已配置好域名的A和MX记录。示例服务器OS是Ubuntu 20.04 LTS x64,IP使用1.2.3.4。如果还没拥有域名和服务器,可以参考我的另一篇文章:


可以直接使用Vultr提供noVNC客户端登录服务器:

更新软件包列表:
sudo apt update
开启防火墙:
sudo ufw enable
sudo ufw allow 25/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload
二、安装LEMP堆栈(Nginx、MySQL、PHP)
1.安装并启动Nginx
sudo apt install nginx
sudo systemctl start nginx
2.安装和配置MySQL
sudo apt install mysql-server
sudo systemctl start mysql
sudo mysql_secure_installation
向导完成之后,登录MySQL的root用户并新增用户:
# 使用root身份登录数据库
mysql -u root -p
# 创建数据库新用户
CREATE USER 'user'@'localhost' IDENTIFIED BY 'User.555';
# 授予用户权限
GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost';
# 刷新权限并退出数据库
FLUSH PRIVILEGES;
EXIT
3.安装PHP和一些常用的 PHP 扩展
sudo apt install php-fpm php-mysql php-common php-gd php-json php-cli php-curl php-mbstring php-xml php-zip php-intl
三、安装和配置Roundcube(Webmail)
1.下载 Roundcube Webmail 1.6.2并解压
wget https://github.com/roundcube/roundcubemail/releases/download/1.6.2/roundcubemail-1.6.2-complete.tar.gz
tar -zxvf roundcubemail-1.6.2-complete.tar.gz
2.将 Roundcube 移动到 Web 服务器根目录
sudo mv roundcubemail-1.6.2 /var/www/roundcube
3.授予www-data的权限转给 Roundcube 目录
sudo chown -R www-data:www-data /var/www/roundcube
4.登录user用户初始化Roundcube数据库
mysql -u user -p
CREATE DATABASE roundcube;
USE roundcube;
source /var/www/roundcube/SQL/mysql

本文详细指导如何在Ubuntu20.04服务器上,利用Postfix、Dovecot、Roundcube和LEMP堆栈搭建完整的邮箱系统,包括配置SMTP、IMAP服务,以及SSL/TLS安全连接。
最低0.47元/天 解锁文章
2071





