临时邮箱cf搭建教程
环境搭建
以下以debian11系统为例,其他的自行参考解决
安装node.js 和 npm
apt install nodejs npm -y
node -v # 查看下node.js 版本
这里我还安装了nvm来管理管理node版本
curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash
source ~/.profile
nvm ls-remote
这里我安装 18.16.0,如果选16/20的话后面安装wrangler 会失败.
nvm install 18.16.0
nvm use 18.16.0
安装wrangler
npm install -g wrangler
Cloudflare D1
git clone 下https://github.com/quanthero/cloudflare_temp_email.git
导入vscode操作:
- 先创建D1数据库
wrangler d1 create dev # 随便取个名字来替换dev
wrangler d1 execute dev --file=db/schema.sql
之后会弹出验证你的cf账户链接
Opening a link in your default browser: https://dash.cloudflare.com/oauth2/auth?response_type=code&client_id=54d11594-84e4-41aa-b438-e81b8fa78ee7&redirect_uri=http://localhost:8976/oauth/cal
复制链接到浏览器打开登录自己cf账号,去自己的worker&pages查看是否D1数据库建好了。
注意下返回的数据库信息:以下是我的返回信息,用aaa隐藏了。
✅ Successfully created DB 'temp_email' in region WNAM
Created your database using D1's new storage backend. The new storage backend is not yet recommended for production workloads, but backs up your data via point-in-time restore.
binding = "DB" # i.e. available in your Worker on env.DB
database_name = "aaaaaa"
database_id = "aaaaaaaaaa"
cf worker
接下来搭建cf worker,提前准备好上一步获得的数据库信息。
其中 vars 里面的domain该为自己在cf 托管的任一域名。jmt_secret 随便写;D1 database就是之前返回的数据库信息。
[vars]
PREFIX = "tmp"
DOMAIN = "your cf domain.com"
JWT_SECRET = "any words you like"
[[d1_databases]]
binding = "DB"
database_name = "aaaaaa"
database_id = "aaaaaaaaaa"
cd worker
npm install
# copy wrangler.toml.template to wrangler.toml and modify it
cp wrangler.toml.template wrangler.toml
# deploy
wrangler deploy
安装没问题后登录cf账号,去cf worker 面板查看和设置
这里需要设置两项东西:1. 自定义域名;2. email triggers
-
添加自定义域名,右边有一个add custom domain,点击后设置域名,记录url下来,下一步需要。
-
email triggers, 回到之前设置的托管在cf的域名,找到email routing,在routes开启catch-all address,Action里面选刚建好的worker域名。
具体图片参考:https://github.com/quanthero/cloudflare_temp_email
前端 cf pages搭建
回到vscode,切换到项目frontend操作。
这里要用pnmp,如果没有自行安装下就好了。
这里唯一要修改的就是VITE_API_BASE, 上一步设置的域名url替换过来。
cd frontend
pnpm install
# add .env.local and modify VITE_API_BASE to your api url
cp .env.example .env.local
pnpm build --emptyOutDir
cd ..
wrangler pages deploy dist --branch production
比如我这边的设置如下:
VITE_API_BASE=https://temp-mail-api.your cf domain.com
VITE_CF_WEB_ANALY_TOKEN=
最后可以自定义下page的域名,如果不想用pages.dev

这样看来搭建也并不难,感谢分享详细步骤
感谢分享了