临时邮箱cf搭建教程-基于dreamhunter2333-cloudflare_temp_email开源

临时邮箱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操作:

  1. 先创建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

  1. 添加自定义域名,右边有一个add custom domain,点击后设置域名,记录url下来,下一步需要。

  2. 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

点赞
  1. kikuri说道:

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

  2. 墨鱼说道:

    感谢分享了

发表回复

电子邮件地址不会被公开。必填项已用 * 标注

×
订阅图标按钮