{"repo":"yumusb/email_router","free":true,"listed":false,"github":"https://github.com/yumusb/email_router","clone":"git clone https://github.com/yumusb/email_router.git","description":"duck.com selfhost, docker, catch-all","language":"Go","stars":27,"topics":["catch-all","email","email-forwarding","golang","privacy-protection","duckduckgo-email","self-hosted","selfhost","smtp-server","tempmail-server"],"license":null,"category":"self-hosted-apps","readme_excerpt":"EMAIL ROUTER 该项目是一个支持 多域名 Catch-All 邮件收件 的工具，所有收到的邮件都不会存储，直接转发。它可以将邮件转发到 Telegram 机器人 和 私人邮箱地址 。该工具的设计灵感来源于 DuckDuckGo Email Protection ，目标是提供一个完全自托管的解决方案。 功能介绍 - Catch-All 邮件转发： 支持将接收到的所有邮件直接转发到指定邮箱，而无需存储邮件内容。 - Telegram 机器人通知： 收到的邮件可通过 Telegram 机器人进行实时通知。 - 多域名支持： 可以跨多个域名进行邮件转发处理。 - SMTP 邮件发送： 提供邮件发送功能，可以通过你定义的 私人邮箱地址 将邮件转发给指定的收件人。 端口说明 端口 协议 加密方式 用途 ------ ------ ---------- ------ 25 SMTP STARTTLS 可选 服务器间收信 587 Submission STARTTLS 客户端发信（推荐） 465 SMTPS 隐式 TLS 客户端发信（旧版兼容） 部署步骤 前置准备 1. 服务器准备 公网IP（以223.223.223.223为例），25端口可达 (可以通过本项目内的 check port 25 connectivity.sh 进行测试) ，服务器安装好Docker，设置PTR记录（可选，如果只收信则不需要） 2. 域名准备 想要使用的域名（以404.local、403.local为例） 主域名需要设置MX服务器的A记录、MX记录、SPF记录。 其他域名需要设置MX记录，SPF记录跟随主域名 （不一定非要mx1前缀，任意都可） 1. 克隆仓库 2. 证书相关配置 项目使用 acme.sh 提供证书，以保证收信过程中的安全。打开 .env 配置文件 3. config.yml配置 需要修改的有： - telegram 相关配置 - allowed domains 修改为自己的域名 - private email 修改为要转发到的邮箱 - listen address smtps 如不需要465端口可留空 - listen address smtps 如不需要465端口可留空 # 高级反垃圾配置 blacklist: - \"spammer@bad.com\" # 拦截特定发件人 - \"@spam-domain.com\" # 拦截特定域名发来的邮件 disabled recipients: - \"leaked-alias@my.com\" # 停用特定的收信别名 4. 生成 DKIM 密钥 生成 RSA 密钥 (兼容性好) 将生成的 dkim rsa.pem 内容填入 dkim private key 。 生成 Ed25519 密钥 (更安全、更短) 将生成的 dkim ed25519.pem 内容填入 dkim private key 2 ，并设置 dkim selector 2 。 5. 启动 由于初次启动需要申请证书，所以需要一点时间来启动，只有有效的证书才能启动邮件服务。 5. 收件 为防止出现未知问题，程序对收件地址的规则做了限制。允许的收件地址规则为 ^(\\w -)+@.+$ 例如以下： root@404.local 404@404.local my-admin@404.local random@404.local 可以结合 Bitwarden 中的用户名生成器，效果更佳。 可以通过自己的其他邮箱向域名邮箱进行发信测试，不出意外应该可以收到来自自己域名","default_branch":null,"files":null,"tree":[],"storefront":"/r/yumusb","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/yumusb/email_router/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}