Files
cloudflare_temp_email/README_EN.md
Dream Hunter def400eb09 feat: use rust mail-parser (#104)
* feat: imp worker v2

* feat: add rust mail-parser

* feat: imp frontend v2

* feat: imp frontend v2

* feat: update doc

* feat: add mailV1Alert

* feat: remove unused
2024-04-09 14:58:19 +08:00

2.4 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

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

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

email

Frontend - Cloudflare pages

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