maildrop
“ 一个简单可自托管的电子邮件服务,允许用户在自己的域名上接收电子邮件。
Github地址
https://github.com/haileyydev/maildrop
项目特点
-
随机邮箱生成:能够随机生成电子邮件地址。 -
自定义邮箱:支持用户使用自定义的电子邮件地址。 -
密码保护邮箱:支持为邮箱设置密码保护。 -
简洁的用户界面:提供干净、简洁的操作界面。 -
易于安装和配置:安装和配置过程简单。 -
自动清理收件箱:可以自动清理收件箱中的邮件。 -
可选的邮件发送功能:除了接收邮件,还支持发送邮件(需额外配置)。
项目用途
-
多邮箱使用:适合需要使用多个邮箱地址的用户。 -
临时邮箱:可用于注册服务,避免使用主邮箱地址。 -
多账号创建:方便在网站上创建多个账号。
安装与运行
使用 Python 安装
-
克隆仓库:
git clone https://github.com/haileyydev/maildrop.git
cd maildrop
-
创建并激活虚拟环境:
python -m venv venv
source venv/bin/activate
-
安装依赖:
pip install -r requirements.txt
-
运行应用:
sudo python app.py
-
注意:必须以 root 权限运行,因为 SMTP 服务器需要使用端口 25。
使用 Docker 安装
-
使用 Docker 命令运行:
sudo docker run \
-d \
--restart unless-stopped \
--name maildrop \
-p 5000:5000 \
-p 25:25 \
-e DOMAIN="yourdomain.com" \
haileyydev/maildrop:latest -
使用 Docker Compose: 在
compose.yml文件中添加以下内容:services:
maildrop:
image:haileyydev/maildrop:latest
container_name:maildrop
restart:unless-stopped
ports:
-"5000:5000"
-"25:25"
environment:
-DOMAIN=yourdomain.com然后运行:
sudo docker compose up -d
域名配置
-
确保端口 25 开放:SMTP 服务器使用端口 25,部分 ISP 可能会阻止该端口,可能需要使用隧道或将 Maildrop 部署到云端。 -
创建 DNS 记录: -
A 记录:将域名指向运行 Maildrop 的服务器的公网 IP 地址。 -
MX 记录:将接收邮件的域名指向创建 A 记录的域名。 -
编辑 .env文件:设置DOMAIN为接收邮件的域名。如果使用 Docker,则直接设置环境变量。
示例 DNS 配置
-
运行 Maildrop 的域名与接收邮件的域名不同: | 类型 | 域名 | 指向地址 | |:-------|:-------------------|:------------------| | A | maildrop.domain.com| 服务器 IP 地址 | | MX | domain.com | maildrop.domain.com| -
运行 Maildrop 的域名与接收邮件的域名相同: | 类型 | 域名 | 指向地址 | |:-------|:-----------|:------------------| | A | domain.com | 服务器 IP 地址 | | MX | domain.com | domain.com |
配置选项
-
FLASK_HOST:网站的主机地址。 -
FLASK_PORT:网站的端口号。 -
SMTP_HOST:SMTP 服务器的主机地址。 -
SMTP_PORT:SMTP 服务器的端口号。 -
INBOX_FILE_NAME:存储邮件的文件名。 -
MAX_INBOX_SIZE:收件箱的最大容量。 -
PROTECTED_ADDRESSES:需要密码保护的邮箱地址的正则表达式。 -
PASSWORD:受保护邮箱的密码。 -
DOMAIN:用于生成邮箱地址的域名。
邮件发送功能
-
Maildrop 支持发送邮件,但需要额外配置。具体配置方法可以参考项目中的 发送邮件指南。

