AnonAddy 自建邮件转发服务部署指南
前言
AnonAddy 是一款开源的邮件转发服务,允许用户创建无限数量的临时邮箱别名,用于保护真实邮箱地址不被泄露。本文将详细介绍如何在 Ubuntu 22.04 服务器上自建 AnonAddy 服务,涵盖从服务器准备到完整部署的全过程。
准备工作
服务器要求
- 一台全新的 Ubuntu 22.04 服务器
- 已安装 Fail2ban 和防火墙(如 UFW)
- 开放以下端口:
- 25(SMTP)
- 22(SSH,可修改为其他端口)
- 443(HTTPS)
- 80(HTTP)
服务器安全配置
在开始前,请确保已完成以下安全配置:
- 禁用 root 登录
- 仅允许密钥认证
- 启用双因素认证
- 配置自动安全更新
服务器初始设置
选择云服务提供商
选择支持开放 25 端口的云服务商(部分提供商默认会关闭此端口,需联系客服开通)。
检查 IP 信誉
部署前,使用多 RBL 检查工具确认服务器 IP 不在主要黑名单中。若 IP 因缺乏反向 DNS 设置被列入预防性黑名单,可在完成设置后申请移除。
设置主机名
sudo hostnamectl set-hostname mail.example.com
将 mail.example.com 替换为您自己的域名。
DNS 记录配置
基础记录
-
MX 记录(邮件交换记录):
MX @ mail.example.com 优先级 10 -
通配符记录(如需支持子域名):
MX * mail.example.com A * <IPv4地址> AAAA * <IPv6地址> -
显式 A/AAAA 记录:
A mail.example.com <IPv4地址> A app.example.com <IPv4地址> AAAA mail.example.com <IPv6地址> AAAA app.example.com <IPv6地址>
反向 DNS 设置
设置 PTR 记录指向您的 FQDN(完全限定域名),如 mail.example.com。可通过云服务商控制面板配置。
邮件服务器安装与配置
Postfix 安装
sudo apt update
sudo apt install postfix
安装时选择"Internet Site"类型,系统邮件名填写主域名(如 example.com)。
Postfix 配置
编辑 /etc/postfix/main.cf 文件,配置包括:
- TLS 证书路径
- 安全协议和加密套件
- 主机名和域名设置
- 邮件传输限制
- 反垃圾邮件策略
Master 配置
在 /etc/postfix/master.cf 文件末尾添加:
anonaddy unix - n n - - pipe
flags=F user=johndoe argv=php /var/www/anonaddy/artisan anonaddy:receive-email --sender=${sender} --recipient=${recipient} --local_part=${user} --extension=${extension} --domain=${domain} --size=${size}
policy unix - n n - 0 spawn
user=johndoe argv=php /var/www/anonaddy/postfix/AccessPolicy.php
Web 服务器配置
Nginx 安装
添加官方源并安装最新版 Nginx:
sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
sudo apt update
sudo apt install nginx
生成 DH 参数
sudo mkdir /etc/nginx/ssl
sudo openssl dhparam -out /etc/nginx/ssl/dhparam.pem 4096
Nginx 配置
创建服务器块配置文件 /etc/nginx/conf.d/example.com.conf,配置包括:
- HTTP 到 HTTPS 重定向
- TLS 证书路径
- 安全头设置
- PHP FastCGI 配置
- 静态文件处理
PHP 环境配置
PHP 8.2 安装
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.2-fpm php8.2-common php8.2-mysql php8.2-dev php8.2-gmp php8.2-mbstring php8.2-dom php8.2-gd php8.2-imagick php8.2-opcache php8.2-soap php8.2-zip php8.2-cli php8.2-curl php8.2-mailparse php8.2-gnupg php8.2-redis -y
PHP-FPM 配置
编辑 /etc/php/8.2/fpm/pool.d/www.conf,设置正确的用户和组。
SSL 证书获取
使用 acme.sh 获取 Let's Encrypt 证书:
sudo su
cd ~
git clone https://github.com/acmesh-official/acme.sh.git
cd acme.sh
./acme.sh --install
数据库与缓存服务
MariaDB 安装
sudo apt install mariadb-server mariadb-client
sudo mysql_secure_installation
Redis 安装
sudo apt install redis-server
应用部署与配置
克隆代码库
cd /var/www
git clone https://github.com/anonaddy/anonaddy.git
cd anonaddy
composer install --no-dev
环境配置
复制 .env.example 为 .env 并配置数据库连接、应用密钥等参数。
数据库迁移
php artisan migrate --seed
服务启动与验证
启动服务
sudo systemctl restart nginx
sudo systemctl restart postfix
sudo systemctl restart php8.2-fpm
创建管理员账户
php artisan user:create
高级安全配置
DNSSEC 与 DANE
配置 DNSSEC 并添加 TLSA 记录实现 DANE 验证。
MTA-STS 与 TLS 报告
添加 MTA-STS 策略和 TLS 报告配置。
CAA 记录
添加认证机构授权记录限制证书颁发机构。
维护与更新
应用更新
cd /var/www/anonaddy
git pull origin master
composer install --no-dev
php artisan migrate
故障排除
常见问题包括:
- 邮件投递失败
- TLS 证书问题
- DNS 配置错误
- 服务启动失败
可通过检查日志文件定位问题:
/var/log/mail.log/var/log/nginx/error.log/var/log/php8.2-fpm.log
结语
通过本文的详细指导,您应该已经成功部署了自己的 AnonAddy 邮件转发服务。自建服务不仅能提供更高的隐私保护,还能根据需求进行定制化配置。建议定期检查服务器日志并保持软件更新,以确保服务的安全性和稳定性。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



