前情提要,该项目为一个人鞭策了三天claude的项目,经过了近几日各种注册机的拷打,已经证实了该项目的可部署性以及高并发性,不会写还不会AI嘛(x
项目地址: 123nhh/tempmail: 支持多域名、自动 MX 记录校验及 Web 管理面板的自托管临时邮箱服务。
先介绍一下项目特色:
webui展示:
首先,你要拥有的
- 一台开放25端口的服务器
- 一个你喜欢的域名
ok,教程开始,我将使用一台全新的服务器来进行演示,这里ip以66.92.*.*为例
第一步,确定你的服务器是否能收件
第一步,已知的可忽略
运行一下下面的脚本
bash <(curl -sL IP.Check.Place)
如果你是新服务器,这时会显示

输入y并回车,然后等待即可
等待一会,然后你会看到下面的界面
一般来说,这样的就是能建的

这样的就是不能的,然后,让我们进入下一步吧~
安装docker
第二步,安装docker,已装可跳过
bash <(curl -sL 'https://get.docker.com')
等待一会输入
docker --version
提示Docker version ……的就代表已经安装完成了
如果安装时提示以下内容请更换linux到新版本
第三步,克隆仓库
在终端输入以下命令
git clone https://github.com/123nhh/tempmail.git
cd tempmail
cp .env.example .env
第四步,更改".env"和"docker-compose.yml"文件
这里直说需要更改的内容,怎么更改自行搜索,实在不行可以下载到本地改完后再传上去
如果只是自用的话理论可以不用改,后面去后台关闭注册即可
打开.env文件,你会看到关于各个端口需要更改的地方(不懂的不需要改,懂了再改)
这里需要重点更改的如下
.env
POSTGRES_PASSWORD=<改为一个强密码,后续以pgpw替代该密码>
REDIS_PASSWORD=<改为一个强密码,后续以rdpw替代该密码>
API_DB_DSN=postgres://tempmail:<pgwd>@pgbouncer:6432/tempmail?sslmode=disable
API_REDIS_PASSWORD=<rdpw>
docker-compose.yml(理论来说不追求特别安全可以不改,但是如果搭配nginx反代等建议更改,这里不详细说明,文件内已详细说明)
第五步,运行
在 ~/tempmail 目录下执行
docker compose up -d
编译时间略长,静待镜像编译即可(不打算上传镜像,请自行构建)
后续更改配置文件了重启docker即可(在目录下执行"docker compose down && docker compose up -d")
显示这个即为构建完成
第六步 获取管理员apikey后登录
在~/root/tempmail下执行
cat data/admin.key
然后会获取到以下内容
# TempMail Admin API Key
# Auto-generated on startup — keep this secret!
ADMIN_API_KEY=tm_admin_***********
这个"tm_admin_***********"即为你的apikey
第七步,进入后台
访问 http://ip 即可
在这里填写你刚才获得的key即可
第八步,添加域名,这里默认你的域名已经添加进cf了,这里以aba-aba.de举例
(小声:aba-aba.de是我打算高考完写点教程的地方,但是现在就几篇ai写的文章占位和调试ui什么的,欢迎来看看我的站的ui喵www)
-
打开cf,添加A解析
-
进入系统设置一栏填写你的服务器ip和域名,记得点保存
-
打开域名列表栏,在这里就能看到填写提示了(MX解析为必须,TXT解析可选)
-
打开cf的域名管理,这里我以mail.aba-aba.de演示
然后点下面的保存!!!
-
返回临时邮箱页,点击

-
填写你加的域名,就是示例的mail.aba-aba.de
若域名MX解析未到位则会进入列队
出现这个
或
即为添加完成,返回域名列表进行查看
已经完成
第九步,使用
在邮箱总览页点击新建邮箱即可,或通过api调用,参见![]()
自用记得关闭注册哦

把这个关了即可
FAQ
Q1:邮箱时间太短怎么办?
A1:前往"系统设置"内"邮箱有效期(分钟)"处设置
Q2:我调用API时感觉并发过小怎么办?
A2:前往.env修改"API_RATE_LIMIT","API_RATE_WINDOW"两条,默认每分钟500次请求

Q3:我忘了apikey怎么办?
A3:管理员key请在~/tempmail/data/admin.key查看,也可看第六步教程;用户key找管理员看
Q4:这个域名池是什么意思?
A4:这个域名池参考了"gptmail"的思路,这里更适合个人/团队使用,普通成员也可添加自己的域名进域名池供集体调用
Q5:用APIkey创建邮箱时创建不了
A5:检查"系统设置"-"每账户邮箱上限"设置
webui其实写的也挺详细了,配置不会了丢Agent里问问就行
最后想说的
第一次写这种长东西,还是不太会写(((
如有误解之嫌和不解之处欢迎提问




















