Files
cloudflare_temp_email/README_EN.md
2024-04-09 18:55:53 +08:00

2.8 KiB

cloudflare temp email

中文

CHANGELOG

Live Demo

This is a temporary email service that uses Cloudflare Workers to create a temporary email address and view the received email in web browser.

Features

  • Cloudflare D1 as a database
  • Deploy the front end with Cloudflare Pages
  • Deploy the backend with Cloudflare Workers
  • Email forwarding using Cloudflare Email Routing
  • Use password to login to the previous mailbox again.
  • Get Custom Name Email
  • Support multiple languages
  • Add access authorization, which can be used as a private site
  • Add auto reply feature
  • Add attachment viewing function
  • use rust wasm to parse email

demo

Deploy

Install/Update Wrangler

DB - Cloudflare D1

# create a database, and copy the output to wrangler.toml in the next step
wrangler d1 create dev
wrangler d1 execute dev --file=db/schema.sql
# schema update, if you have initialized the database before this date, you can execute this command to update
# wrangler d1 execute dev --file=db/2024-01-13-patch.sql
# wrangler d1 execute dev --file=db/2024-04-03-patch.sql

d1

Backend - Cloudflare workers

The first deployment will prompt you to create a project. Please fill in production for the production branch.

cd worker
pnpm install
# copy wrangler.toml.template to wrangler.toml
# and add your d1 config and these config
# PREFIX = "tmp" - the email create will be like tmp<xxxxx>@DOMAIN
# IF YOU WANT TO MAKE YOUR SITE PRIVATE, UNCOMMENT THE FOLLOWING LINES
# PASSWORDS = ["123", "456"]
# For admin panel, if not set will no allow to access the admin panel
# ADMIN_PASSWORDS = ["123", "456"]
# DOMAINS = ["xxx.xxx1" , "xxx.xxx2"] you domain name
# JWT_SECRET = "xxx"
# BLACK_LIST = ""
cp wrangler.toml.template wrangler.toml
# deploy
pnpm run deploy

you can find and test the worker's url in the workers dashboard

worker

Cloudflare Email Routing

Before you can bind an email address to your Worker, you need to enable Email Routing and have at least one verified email address.

enable email route and config email forward catch-all to the worker

email

Frontend - Cloudflare pages

The first deployment will prompt you to create a project. Please fill in production for the production branch.

cd frontend
pnpm install
# add .env.local and modify VITE_API_BASE to your worker's url
# VITE_API_BASE=https://xxx.xxx.workers.dev - don't put / in the end
cp .env.example .env.local
pnpm build --emptyOutDir
pnpm run deploy

pages