大数跨境
0
0

一个简单可自托管的电子邮件服务,允许用户在自己的域名上接收电子邮件。

一个简单可自托管的电子邮件服务,允许用户在自己的域名上接收电子邮件。 github淘金
2025-12-01
6
导读:maildrop“一个简单可自托管的电子邮件服务,允许用户在自己的域名上接收电子邮件。

maildrop

一个简单可自托管的电子邮件服务,允许用户在自己的域名上接收电子邮件。

Github地址

https://github.com/haileyydev/maildrop

项目特点

  • 随机邮箱生成:能够随机生成电子邮件地址。
  • 自定义邮箱:支持用户使用自定义的电子邮件地址。
  • 密码保护邮箱:支持为邮箱设置密码保护。
  • 简洁的用户界面:提供干净、简洁的操作界面。
  • 易于安装和配置:安装和配置过程简单。
  • 自动清理收件箱:可以自动清理收件箱中的邮件。
  • 可选的邮件发送功能:除了接收邮件,还支持发送邮件(需额外配置)。

项目用途

  • 多邮箱使用:适合需要使用多个邮箱地址的用户。
  • 临时邮箱:可用于注册服务,避免使用主邮箱地址。
  • 多账号创建:方便在网站上创建多个账号。

安装与运行

使用 Python 安装

  1. 克隆仓库
  
git clone https://github.com/haileyydev/maildrop.git
cd maildrop
  1. 创建并激活虚拟环境
  
python -m venv venv
source venv/bin/activate
  1. 安装依赖
  
pip install -r requirements.txt
  1. 运行应用
  
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 支持发送邮件,但需要额外配置。具体配置方法可以参考项目中的 发送邮件指南。

【声明】内容源于网络
0
0
github淘金
打破信息差,不为免费而付费。关注我,每日分享各种有趣,实用的开源项目。
内容 1994
粉丝 0
github淘金 打破信息差,不为免费而付费。关注我,每日分享各种有趣,实用的开源项目。
总阅读411
粉丝0
内容2.0k