Postfix+Dovecot+Roundcube基于LEMP堆栈实现邮箱系统

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

拥有域名和服务器前提下,基于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。如果还没拥有域名和服务器,可以参考我的另一篇文章:

Apache+Flask在云服务器搭建个人网站




可以直接使用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
CentOS+Postfix+Dovecot+Postfixadmin+Roundcube邮件服务器的搭建步骤如下: 1. 安装 CentOS 操作系统,并更新至最新版。 2. 安装 Postfix 邮件服务器,并进行基本配置。 3. 安装 Dovecot IMAP/POP3 服务器,并进行基本配置。 4. 安装 Postfixadmin 邮箱管理系统,并进行基本配置。 5. 安装 Roundcube Webmail 邮件客户端,并进行基本配置。 具体步骤如下: 1. 安装 CentOS 操作系统,并更新至最新版。 在安装 CentOS 操作系统时,选择最小化安装,并根据实际情况进行分区和网络配置。安装完成后,使用以下命令更新系统: ``` yum update ``` 2. 安装 Postfix 邮件服务器,并进行基本配置。 使用以下命令安装 Postfix: ``` yum install postfix ``` 安装完成后,修改 /etc/postfix/main.cf 文件,使其支持 TLS 和 SASL 认证: ``` smtpd_tls_cert_file = /etc/pki/tls/certs/server.crt smtpd_tls_key_file = /etc/pki/tls/private/server.key smtpd_tls_security_level = may smtp_tls_security_level = may smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_auth_enable = yes smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination ``` 然后重启 Postfix 服务: ``` systemctl restart postfix ``` 3. 安装 Dovecot IMAP/POP3 服务器,并进行基本配置。 使用以下命令安装 Dovecot: ``` yum install dovecot ``` 安装完成后,修改 /etc/dovecot/dovecot.conf 文件,使其支持 TLS 和 SASL 认证: ``` ssl_cert = </etc/pki/tls/certs/server.crt ssl_key = </etc/pki/tls/private/server.key auth_mechanisms = plain login ``` 然后重启 Dovecot 服务: ``` systemctl restart dovecot ``` 4. 安装 Postfixadmin 邮箱管理系统,并进行基本配置。 使用以下命令安装 Postfixadmin: ``` yum install postfixadmin ``` 安装完成后,修改 /etc/httpd/conf.d/postfixadmin.conf 文件,使其支持 SSL: ``` SSLEngine on SSLCertificateFile /etc/pki/tls/certs/server.crt SSLCertificateKeyFile /etc/pki/tls/private/server.key ``` 然后重启 Apache 服务: ``` systemctl restart httpd ``` 访问 https://your-domain.com/postfixadmin,使用管理员账号登录,创建邮箱账号和域名等相关配置。 5. 安装 Roundcube Webmail 邮件客户端,并进行基本配置。 使用以下命令安装 Roundcube: ``` yum install roundcubemail ``` 安装完成后,修改 /etc/httpd/conf.d/roundcubemail.conf 文件,使其支持 SSL: ``` SSLEngine on SSLCertificateFile /etc/pki/tls/certs/server.crt SSLCertificateKeyFile /etc/pki/tls/private/server.key ``` 然后重启 Apache 服务: ``` systemctl restart httpd ``` 访问 https://your-domain.com/roundcubemail,使用邮箱账号登录,即可使用 Roundcube 邮件客户端。 以上就是 CentOS+Postfix+Dovecot+Postfixadmin+Roundcube邮件服务器的搭建步骤,如有问题可以参考相关文档或者咨询技术人员。
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值