mirror of
https://github.com/dreamhunter2333/cloudflare_temp_email.git
synced 2026-05-06 20:32:55 +08:00
docs: update English README and add English CHANGELOG (#792)
- Expand README_EN.md with comprehensive feature documentation - Add complete header with badges and repository info - Include detailed feature sections (Email Processing, User Management, Admin Features, etc.) - Add Technical Architecture section with system design details - Include Service Status Monitoring and Star History - Add Table of Contents for better navigation - Add Important Notes about Resend domain configuration - Create CHANGELOG_EN.md with full translation - Translate all version entries from v1.2.0 to initial releases - Preserve technical details, issue references, and breaking changes - Maintain consistent formatting with Chinese version - Add language switch links to both CHANGELOG files - Enable easy navigation between Chinese and English versions 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,11 @@
|
||||
<!-- markdownlint-disable-file MD004 MD024 MD034 MD036 -->
|
||||
<!-- markdownlint-disable-file MD004 MD024 MD033 MD034 MD036 -->
|
||||
# CHANGE LOG
|
||||
|
||||
<p align="center">
|
||||
<a href="CHANGELOG.md">🇨🇳 中文</a> |
|
||||
<a href="CHANGELOG_EN.md">🇺🇸 English</a>
|
||||
</p>
|
||||
|
||||
## v1.2.0(main)
|
||||
|
||||
- feat: |邮件过滤| 移除后端 keyword 参数,改为前端过滤当前页邮件,优化查询性能
|
||||
|
||||
565
CHANGELOG_EN.md
Normal file
565
CHANGELOG_EN.md
Normal file
@@ -0,0 +1,565 @@
|
||||
<!-- markdownlint-disable-file MD004 MD024 MD033 MD034 MD036 -->
|
||||
# CHANGE LOG
|
||||
|
||||
<p align="center">
|
||||
<a href="CHANGELOG.md">🇨🇳 中文</a> |
|
||||
<a href="CHANGELOG_EN.md">🇺🇸 English</a>
|
||||
</p>
|
||||
|
||||
## v1.2.0(main)
|
||||
|
||||
- feat: |Email Filtering| Remove backend keyword parameter, switch to frontend filtering of current page emails, optimize query performance
|
||||
- feat: |Database| Add index for `message_id` field to optimize email update operations, need to execute `db/2025-12-15-message-id-index.sql` to update database
|
||||
- feat: |Admin| Add custom SQL cleanup feature to maintenance page, support scheduled task execution of custom cleanup statements
|
||||
|
||||
## v1.1.0
|
||||
|
||||
- feat: |AI Extraction| Add AI email recognition feature, use Cloudflare Workers AI to automatically extract verification codes, authentication links, service links and other important information from emails
|
||||
- Support priority extraction: verification codes > authentication links > service links > subscription links > other links
|
||||
- Admin can configure address whitelist (supports wildcards, e.g. `*@example.com`)
|
||||
- Frontend list and detail pages display extraction results
|
||||
- Need to configure `ENABLE_AI_EMAIL_EXTRACT` environment variable and AI binding
|
||||
- Need to execute SQL in `db/2025-12-06-metadata.sql` file to update `D1` database or click database update button on admin maintenance page
|
||||
- feat: |Admin| Add feature to cleanup addresses with empty mailboxes older than n days on maintenance page
|
||||
- fix: Fix custom authentication password function issue (frontend property name error & /open_api interface blocked)
|
||||
|
||||
## v1.0.7
|
||||
|
||||
- feat: |Admin| Add IP blacklist feature for limiting high-frequency API access
|
||||
- feat: |Admin| Add ASN organization blacklist feature, support filtering requests based on ASN organization name (supports text matching and regex)
|
||||
- feat: |Admin| Add browser fingerprint blacklist feature, support filtering requests based on browser fingerprint (supports exact matching and regex)
|
||||
|
||||
## v1.0.6
|
||||
|
||||
- feat: |DB| Update db schema add index
|
||||
- feat: |Address Password| Add address password login feature, enabled via `ENABLE_ADDRESS_PASSWORD` configuration, need to execute SQL in `db/2025-09-23-patch.sql` file to update `D1` database
|
||||
- fix: |GitHub Actions| Fix debug mode configuration, only enable debug mode when DEBUG_MODE is 'true'
|
||||
- feat: |Admin| Account management page adds multi-select batch operations (batch delete, batch clear inbox, batch clear outbox)
|
||||
- feat: |Admin| Maintenance page adds feature to cleanup unbound user addresses
|
||||
- feat: Support configuring different bound address quantity limits for different roles, configurable in admin page
|
||||
|
||||
## v1.0.5
|
||||
|
||||
- feat: Add `DISABLE_CUSTOM_ADDRESS_NAME` configuration: disable custom email address name feature
|
||||
- feat: Add `CREATE_ADDRESS_DEFAULT_DOMAIN_FIRST` configuration: prioritize first domain when creating addresses
|
||||
- feat: |UI| Add button to enter minimalist mode on homepage
|
||||
- feat: |Webhook| Add whitelist switch feature, support flexible access control
|
||||
|
||||
## v1.0.4
|
||||
|
||||
- feat: |UI| Optimize minimalist mode homepage, add all emails page functionality (delete/download/attachments/...), switchable in `Appearance`
|
||||
- feat: Admin account settings page adds `Email Forwarding Rules` configuration
|
||||
- feat: Admin account settings page adds `Reject Unknown Address Emails` configuration
|
||||
- feat: Email page adds Previous/Next buttons
|
||||
|
||||
## v1.0.3
|
||||
|
||||
- fix: Fix github actions deployment issue
|
||||
- feat: telegram /new when domain not specified, use random address
|
||||
|
||||
## v1.0.2
|
||||
|
||||
- fix: Fix oauth2 login failure issue
|
||||
|
||||
## v1.0.1
|
||||
|
||||
- feat: |UI| Add minimalist mode homepage, switchable in `Appearance`
|
||||
- fix: Fix oauth2 login default role not taking effect issue
|
||||
|
||||
## v1.0.0
|
||||
|
||||
- fix: |UI| Fix User inbox viewing, when address not selected, keyword query not working
|
||||
- fix: Fix auto cleanup task, time 0 not taking effect issue
|
||||
- feat: Cleanup feature adds cleanup of addresses created n days ago, cleanup of addresses inactive for n days
|
||||
- fix: |IMAP Proxy| Fix IMAP Proxy server unable to view new emails issue
|
||||
|
||||
## v0.10.0
|
||||
|
||||
- feat: Support User inbox viewing, `/user_api/mails` interface, support `address` and `keyword` filtering
|
||||
- fix: Fix Oauth2 login token retrieval, some Oauth2 require `redirect_uri` parameter issue
|
||||
- feat: When user accesses webpage, if `user token` expires within 7 days, auto refresh
|
||||
- feat: Add db initialization feature to admin portal
|
||||
- feat: Add `ALWAYS_SHOW_ANNOUNCEMENT` variable to configure whether to always show announcements
|
||||
|
||||
## v0.9.1
|
||||
|
||||
- feat: |UI| Support google ads
|
||||
- feat: |UI| Use shadow DOM to prevent style pollution
|
||||
- feat: |UI| Support URL jwt parameter auto-login to mailbox, jwt parameter overrides browser jwt
|
||||
- fix: |CleanUP| Fix cleanup emails when cleanup time exceeds 30 days error bug
|
||||
- feat: Admin user management page: add user address viewing feature
|
||||
- feat: | S3 Attachments| Add S3 attachment deletion feature
|
||||
- feat: | Admin API| Add admin bind user and address api
|
||||
- feat: | Oauth2 | When Oauth2 gets user info, support `JSONPATH` expressions
|
||||
|
||||
## v0.9.0
|
||||
|
||||
- feat: | Worker | Support multi-language
|
||||
- feat: | Worker | `NO_LIMIT_SEND_ROLE` configuration supports multiple roles, comma separated
|
||||
- feat: | Actions | Add `worker-with-wasm-mail-parser.zip` in build to support UI deployment with `wasm` worker
|
||||
|
||||
## v0.8.7
|
||||
|
||||
- fix: |UI| Fix mobile device date display issue
|
||||
- feat: |Worker| Support sending emails via `SMTP`, using [zou-yu/worker-mailer](https://github.com/zou-yu/worker-mailer/blob/main/README_zh-CN.md)
|
||||
|
||||
## v0.8.6
|
||||
|
||||
- feat: |UI| Announcements support html format
|
||||
- feat: |UI| `COPYRIGHT` supports html format
|
||||
- feat: |Doc| Optimize deployment documentation, supplement `Github Actions Deployment Documentation`, add `Worker Variable Description`
|
||||
|
||||
## v0.8.5
|
||||
|
||||
- feat: |mail-parser-wasm-worker| Fix `deprecated` parameter warning when calling `initSync` function
|
||||
- feat: rpc headers convert & typo (#559)
|
||||
- fix: telegram mail page use iframe show email (#561)
|
||||
- feat: |Worker| Add `REMOVE_ALL_ATTACHMENT` and `REMOVE_EXCEED_SIZE_ATTACHMENT` for removing email attachments, due to parsing emails some information will be lost, such as images.
|
||||
|
||||
## v0.8.4
|
||||
|
||||
- fix: |UI| Fix admin portal delete call api error when no recipient email
|
||||
- feat: |Telegram Bot| Add telegram bot cleanup invalid address credentials command
|
||||
- feat: Add worker configuration `DISABLE_ANONYMOUS_USER_CREATE_EMAIL` to disable anonymous user email creation, only allow logged-in users to create email addresses
|
||||
- feat: Add worker configuration `ENABLE_ANOTHER_WORKER` and `ANOTHER_WORKER_LIST`, for calling other worker rpc interfaces (#547)
|
||||
- feat: |UI| Auto refresh configuration saved to browser, configurable refresh interval
|
||||
- feat: Spam detection adds check-when-exists list `JUNK_MAIL_CHECK_LIST` configuration
|
||||
- feat: | Worker | Add `ParsedEmailContext` class for caching parsed email content, reduce parsing times
|
||||
- feat: |Github Action| Worker deployment adds `DEBUG_MODE` output logging, `BACKEND_USE_MAIL_WASM_PARSER` configuration for whether to use wasm to parse emails
|
||||
|
||||
## v0.8.3
|
||||
|
||||
- feat: |Github Action| Add auto update and deploy feature
|
||||
- feat: |UI| Admin user settings, support oauth2 configuration deletion
|
||||
- feat: Add spam detection must-pass list `JUNK_MAIL_FORCE_PASS_LIST` configuration
|
||||
|
||||
## v0.8.2
|
||||
|
||||
- fix: |Doc| Fix some documentation errors
|
||||
- fix: |Github Action| Fix frontend deployment branch error issue
|
||||
- feat: Admin send email feature
|
||||
- feat: Admin backend, account configuration page adds unlimited send email address list
|
||||
|
||||
## v0.8.1
|
||||
|
||||
- feat: |Doc| Update UI installation documentation
|
||||
- feat: |UI| Hide mailbox account ID from users
|
||||
- feat: |UI| Add `Forward` button to email detail page
|
||||
|
||||
## v0.8.0
|
||||
|
||||
- feat: |UI| Random address generation doesn't exceed max length
|
||||
- feat: |UI| Email time display in browser timezone, can switch to display UTC time in settings
|
||||
- feat: Support transferring emails to other users
|
||||
|
||||
## v0.7.6
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
UI deployment worker needs to click Settings -> Runtime, modify Compatibility flags, add `nodejs_compat`
|
||||
|
||||

|
||||
|
||||
### Changes
|
||||
|
||||
- feat: Support pre-setting bot info to reduce telegram callback latency (#441)
|
||||
- feat: Add telegram mini app build archive
|
||||
- feat: Add whether to enable spam check `ENABLE_CHECK_JUNK_MAIL` configuration
|
||||
|
||||
## v0.7.5
|
||||
|
||||
- fix: Fix `name` validation check
|
||||
|
||||
## v0.7.4
|
||||
|
||||
- feat: UI list page adds minimum width
|
||||
- fix: Fix `name` validation check
|
||||
- fix: Fix `DEFAULT_DOMAINS` configuration empty not taking effect issue
|
||||
|
||||
## v0.7.3
|
||||
|
||||
- feat: Worker adds `ADDRESS_CHECK_REGEX`, address name regex, only for checking, matching will pass check
|
||||
- fix: UI fix login page tab active icon misalignment
|
||||
- fix: UI fix admin page refresh popup password input issue
|
||||
- feat: Support `OAuth2` login, can login via `Github` `Authentik` and other third parties, see details [OAuth2 Third-party Login](https://temp-mail-docs.awsl.uk/en/guide/feature/user-oauth2.html)
|
||||
|
||||
## v0.7.2
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
`webhook` structure adds `enabled` field, existing configurations need to be re-enabled and saved on the page.
|
||||
|
||||
### Changes
|
||||
|
||||
- fix: Worker adds `NO_LIMIT_SEND_ROLE` configuration, loading failure issue
|
||||
- feat: Worker adds `# ADDRESS_REGEX = "[^a-z.0-9]"` configuration, regex for replacing illegal symbols, if not set, defaults to [^a-z0-9], use with caution, some symbols may cause receiving issues
|
||||
- feat: Worker optimizes webhook logic, supports admin configuring global webhook, adds `message pusher` integration example
|
||||
|
||||
## v0.7.1
|
||||
|
||||
- fix: Fix user role loading failure issue
|
||||
- feat: Admin account settings adds source email address blacklist configuration
|
||||
|
||||
## v0.7.0
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
DB changes: Add user `passkey` table, need to execute `db/2024-08-10-patch.sql` to update `D1` database
|
||||
|
||||
### Changes
|
||||
|
||||
- Docs: Update new-address-api.md (#360)
|
||||
- feat: Worker adds `ADMIN_USER_ROLE` configuration, for configuring admin user role, users with this role can access admin management page (#363)
|
||||
- feat: Worker adds `DISABLE_SHOW_GITHUB` configuration, for configuring whether to show github link
|
||||
- feat: Worker adds `NO_LIMIT_SEND_ROLE` configuration, for configuring roles that can send unlimited emails
|
||||
- feat: User adds `passkey` login method, for user login, no password required
|
||||
- feat: Worker adds `DISABLE_ADMIN_PASSWORD_CHECK` configuration, for configuring whether to disable admin console password check, if your site is only privately accessible, you can disable the check
|
||||
|
||||
## v0.6.1
|
||||
|
||||
- pages github actions && fix cleanup emails days 0 not taking effect by @tqjason (#355)
|
||||
- fix: imap proxy server doesn't support password by @dreamhunter2333 (#356)
|
||||
- worker adds `ANNOUNCEMENT` configuration, for configuring announcement info by @dreamhunter2333 (#357)
|
||||
- fix: telegram bot create new address defaults to first domain by @dreamhunter2333 (#358)
|
||||
|
||||
## v0.6.0
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
DB changes: Add user role table, need to execute `db/2024-07-14-patch.sql` to update `D1` database
|
||||
|
||||
### Changes
|
||||
|
||||
Worker configuration file adds `DEFAULT_DOMAINS`, `USER_ROLES`, `USER_DEFAULT_ROLE`, see documentation [worker configuration](https://temp-mail-docs.awsl.uk/en/guide/cli/worker.html)
|
||||
|
||||
- Remove `apiV1` related code and related database tables
|
||||
- Update `admin/statistics` api, add user statistics info
|
||||
- Update address rules, only allow lowercase+numbers, for historical addresses `lowercase` processing will be performed when querying emails
|
||||
- Add user role feature, `admin` can set user roles (currently can configure domain and prefix for each role)
|
||||
- Admin page search optimization, enter key auto search, input content auto trim
|
||||
|
||||
## v0.5.4
|
||||
|
||||
- Click logo 5 times to enter admin page
|
||||
- Fix 401 cannot redirect to login page (admin and site authentication)
|
||||
|
||||
## v0.5.3
|
||||
|
||||
- Fix some bugs in smtp imap proxy server
|
||||
- Improve user/admin delete inbox/outbox functionality
|
||||
- Admin can delete send permission records
|
||||
- Add Chinese email alias configuration `DOMAIN_LABELS` [documentation](https://temp-mail-docs.awsl.uk/en/guide/cli/worker.html)
|
||||
- Remove `mail channels` related code
|
||||
- github actions adds `FRONTEND_BRANCH` variable to specify deployment branch (#324)
|
||||
|
||||
## v0.5.1
|
||||
|
||||
- Add `mail-parser-wasm-worker` for worker email parsing, [documentation](https://temp-mail-docs.awsl.uk/en/guide/feature/mail_parser_wasm_worker.html)
|
||||
- Add user email length validation configuration `MIN_ADDRESS_LEN` and `MAX_ADDRESS_LEN`
|
||||
- Fix `pages function` not forwarding `telegram` api issue
|
||||
|
||||
## v0.5.0
|
||||
|
||||
- UI: Add local cache for address management
|
||||
- worker: Add `FORWARD_ADDRESS_LIST` global email forwarding address (equivalent to `catch all`)
|
||||
- UI: Multi-language uses routing for switching
|
||||
- Add save attachments to S3 feature
|
||||
- UI: Add received email list `batch delete` and `batch download`
|
||||
|
||||
## v0.4.6
|
||||
|
||||
- Worker configuration file adds `TITLE = "Custom Title"`, can customize website title
|
||||
- Fix KV not bound unable to delete address issue
|
||||
|
||||
## v0.4.5
|
||||
|
||||
- UI lazy load
|
||||
- telegram bot adds user global push feature (admin users)
|
||||
- Add support for cloudflare verified user sending emails
|
||||
- Add using `resend` to send emails, `resend` provides http and smtp api, easier to use, documentation: https://temp-mail-docs.awsl.uk/en/guide/config-send-mail.html
|
||||
|
||||
## v0.4.4
|
||||
|
||||
- Add telegram mini app
|
||||
- telegram bot adds `unbind`, `delete` commands
|
||||
- Fix webhook multiline text issue
|
||||
|
||||
## v0.4.3
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
Configuration file `main = "src/worker.js"` changed to `main = "src/worker.ts"`
|
||||
|
||||
### Changes
|
||||
|
||||
- `telegram bot` whitelist configuration
|
||||
- `ENABLE_WEBHOOK` add webhook
|
||||
- UI: admin page uses two-level tabs
|
||||
- UI: can directly switch addresses on homepage after login
|
||||
- UI: outbox also uses split view display (similar to inbox)
|
||||
- `SMTP IMAP Proxy` add outbox viewing
|
||||
|
||||
* feat: telegram bot TelegramSettings && webhook by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/244
|
||||
* fix build by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/245
|
||||
* feat: UI changes by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/247
|
||||
* feat: SMTP IMAP Proxy: add sendbox && UI: sendbox use split view by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/248
|
||||
|
||||
## v0.4.2
|
||||
|
||||
- Fix some bugs in smtp imap proxy server
|
||||
- Fix UI interface text errors, interface adds version number
|
||||
- Add telegram bot documentation https://temp-mail-docs.awsl.uk/en/guide/feature/telegram.html
|
||||
|
||||
* fix: imap server by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/227
|
||||
* fix: Maintenance wrong label by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/229
|
||||
* feat: add version for frontend && backend by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/230
|
||||
* feat: add page functions proxy to make response faster by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/234
|
||||
* feat: add about page by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/235
|
||||
* feat: remove mailV1Alert && fix mobile showSideMargin by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/236
|
||||
* feat: telegram bot by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/238
|
||||
* fix: remove cleanup address due to many table need to be clean by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/240
|
||||
* feat: docs: Telegram Bot by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/241
|
||||
* fix: smtp_proxy: cannot decode 8bit && tg bot new random address by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/242
|
||||
* fix: smtp_proxy: update raise imap4.NoSuchMailbox by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/243
|
||||
|
||||
### v0.4.1
|
||||
|
||||
- Username limited to max 30 characters
|
||||
- Fix `/external/api/send_mail` not returning bug (#222)
|
||||
- Add `IMAP proxy` service, support `IMAP` viewing emails
|
||||
- UI interface adds version number display
|
||||
|
||||
* feat: use common function handleListQuery when query by page by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/220
|
||||
* fix: typos by @lwd-temp in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/221
|
||||
* fix: name max 30 && /external/api/send_mail not return result by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/222
|
||||
* fix: smtp_proxy_server support decode from mail charset by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/223
|
||||
* feat: add imap proxy server by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/225
|
||||
* feat: UI show version by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/226
|
||||
|
||||
### New Contributors
|
||||
|
||||
* @lwd-temp made their first contribution in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/221
|
||||
|
||||
## v0.4.0
|
||||
|
||||
### DB Changes/Breaking changes
|
||||
|
||||
Added user related tables for storing user information
|
||||
|
||||
- `db/2024-05-08-patch.sql`
|
||||
|
||||
### config changes
|
||||
|
||||
Enable user registration email verification requires `KV`
|
||||
|
||||
```toml
|
||||
# kv config for send email verification code
|
||||
# [[kv_namespaces]]
|
||||
# binding = "KV"
|
||||
# id = "xxxx"
|
||||
```
|
||||
|
||||
### function changes
|
||||
|
||||
- Add user registration feature, can bind email addresses, automatically obtain email JWT credentials after binding
|
||||
- Add default text display for emails, text and HTML email display mode switch button
|
||||
- Fix `BUG` randomly generated email names are invalid #211
|
||||
- `admin` email page supports email content search #210
|
||||
- Fix bug where emails weren't deleted when deleting addresses #213
|
||||
- UI adds global tab position configuration, side margin configuration
|
||||
|
||||
* feat: update docs by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/204
|
||||
* feat: add Deploy to Cloudflare Workers button by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/205
|
||||
* feat: add Deploy to Cloudflare Workers docs by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/206
|
||||
* feat: add UserLogin by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/209
|
||||
* feat: admin search mailbox && fix generateName multi dot && user jwt exp in 30 days && UI globalTabplacement && useSideMargin by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/214
|
||||
* feat: UI check openSettings in Login page by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/215
|
||||
* feat: UI move AdminContact to common by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/217
|
||||
* feat: docs by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/218
|
||||
|
||||
## v0.3.3
|
||||
|
||||
- Fix Admin delete email error
|
||||
- UI: Reply email button, quote original email text #186
|
||||
- Add send email address blacklist
|
||||
- Add `CF Turnstile` CAPTCHA configuration
|
||||
- Add `/external/api/send_mail` send email api, use body verification #194
|
||||
|
||||
## v0.3.2
|
||||
|
||||
## What's Changed
|
||||
|
||||
- UI: Add reply email button
|
||||
- Add scheduled cleanup feature, configurable in admin page (need to enable scheduled task in config file)
|
||||
- Fix delete account no response issue
|
||||
|
||||
* feat: UI: MailBox add reply button by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/187
|
||||
* feat: add cron auto clean up by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/189
|
||||
* fix: delete account by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/190
|
||||
|
||||
## v0.3.1
|
||||
|
||||
### DB Changes
|
||||
|
||||
Added `settings` table for storing general configuration information
|
||||
|
||||
- `db/2024-05-01-patch.sql`
|
||||
|
||||
### Changes
|
||||
|
||||
- `ENABLE_USER_CREATE_EMAIL` whether to allow users to create emails
|
||||
- Allow admin to create emails without prefix
|
||||
- Add `SMTP proxy server`, support SMTP sending emails
|
||||
- Fix some cases where browsers can't load `wasm` use js to parse emails
|
||||
- Footer adds `COPYRIGHT`
|
||||
- UI allows users to switch email display mode `v-html` / `iframe`
|
||||
- Add `admin` account configuration page, support configuring user registration name blacklist
|
||||
|
||||
* feat: support admin create address && add ENABLE_USER_CREATE_EMAIL co… by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/175
|
||||
* feat: add SMTP proxy server by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/177
|
||||
* fix: cf ui var is string by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/178
|
||||
* fix: UI mailbox 100vh to 80vh by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/179
|
||||
* fix: smtp_proxy_server hostname && add docker image for linux/arm64 by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/180
|
||||
* fix: some browser do not support wasm by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/182
|
||||
* feat: add COPYRIGHT by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/183
|
||||
* feat: UI: add user page: useIframeShowMail && mailboxSplitSize by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/184
|
||||
* feat: add address_block_list for new address by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/185
|
||||
|
||||
## v0.3.0
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
The prefix of the `address` table will migrate from code to db, please replace `tmp` in the sql below with your prefix, then execute.
|
||||
If your data is important, please backup your database first.
|
||||
|
||||
**Note: Replace prefix**
|
||||
|
||||
```sql
|
||||
update
|
||||
address
|
||||
set
|
||||
name = 'tmp' || name;
|
||||
```
|
||||
|
||||
### Changes
|
||||
|
||||
- Migrate the prefix of the `address` table from code to db
|
||||
- `admin` account page adds send/receive email counts
|
||||
- `admin` outbox page defaults to show all
|
||||
- `admin` send permission page supports search by address
|
||||
- `admin` email page uses split view UI
|
||||
|
||||
* feat: remove PREFIX logic in db by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/171
|
||||
* feat: admin page add account mail count && sendbox default all && sen… by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/172
|
||||
* feat: all mail use MailBox Component by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/173
|
||||
|
||||
**Full Changelog**: https://github.com/dreamhunter2333/cloudflare_temp_email/compare/0.2.10...v0.3.0
|
||||
|
||||
## v0.2.10
|
||||
|
||||
- `ENABLE_USER_DELETE_EMAIL` whether to allow users to delete account and emails
|
||||
- `ENABLE_AUTO_REPLY` whether to enable auto reply
|
||||
- fetchAddressError prompt improvement
|
||||
- Auto refresh shows countdown
|
||||
|
||||
* feat: docs update by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/165
|
||||
* feat: add ENABLE_USER_DELETE_EMAIL && ENABLE_AUTO_REPLY && modify fetchAddressError i18n && UI: show autoRefreshInterval by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/169
|
||||
|
||||
## v0.2.9
|
||||
|
||||
- Add rich text editor
|
||||
- Admin contact info, won't show if not configured, can configure any string `ADMIN_CONTACT = "xx@xx.xxx"`
|
||||
- Default send email balance, if not set, will be 0 `DEFAULT_SEND_BALANCE = 1`
|
||||
|
||||
## v0.2.8
|
||||
|
||||
- Allow users to delete emails
|
||||
- Admin notifies user by email when modifying send permissions
|
||||
- Send permission defaults to 1
|
||||
- Add RATE_LIMITER rate limiting for sending emails and creating new addresses
|
||||
- Some bug fixes
|
||||
|
||||
- feat: allow user delete mail && notify when send access changed by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/132
|
||||
- feat: request_send_mail_access default 1 balance by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/143
|
||||
- fix: RATE_LIMITER not call jwt by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/146
|
||||
- fix: delete_address not delete address_sender by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/153
|
||||
- fix: send_balance not update when click sendmail by @dreamhunter2333 in https://github.com/dreamhunter2333/cloudflare_temp_email/pull/155
|
||||
|
||||
## v0.2.7
|
||||
|
||||
- Added user interface installation documentation
|
||||
- Support email DKIM
|
||||
- Rate limiting configuration for `/api/new_address`
|
||||
|
||||
## v0.2.6
|
||||
|
||||
- Added admin query outbox page
|
||||
- Add admin data cleaning page
|
||||
|
||||
## 2024-04-12 v0.2.5
|
||||
|
||||
- Support send email
|
||||
|
||||
DB changes:
|
||||
|
||||
- `db/2024-04-12-patch.sql`
|
||||
|
||||
## 2024-04-10 v0.2.0
|
||||
|
||||
### Breaking Changes
|
||||
|
||||
- remove `ENABLE_ATTACHMENT` config
|
||||
- use rust wasm to parse email in frontend
|
||||
- deprecated api moved to `/api/v1`
|
||||
|
||||
### Rust Mail Parser
|
||||
|
||||
Due to some problems with nodejs' email parsing library, this version switches to using rust wasm to call rust's mail parsing library.
|
||||
|
||||
- Faster speed, good attachment support, can display attachment images of emails
|
||||
- Parsing supports more rfc specifications
|
||||
|
||||
### DB changes
|
||||
|
||||
The `mails` table will be discarded, and the `raw` text of the new `mail` will be directly stored in the `raw_mails` table
|
||||
|
||||
## Upgrade Step
|
||||
|
||||
```bash
|
||||
git checkout v0.2.0
|
||||
cd worker
|
||||
wrangler d1 execute dev --file=../db/2024-04-09-patch.sql --remote
|
||||
pnpm run deploy
|
||||
cd ../frontend
|
||||
pnpm run deploy
|
||||
```
|
||||
|
||||
Note: For historical messages, use the Deploy New web page to view old data.
|
||||
|
||||
```bash
|
||||
git checkout feature/backup
|
||||
cd frontend
|
||||
# Create a new pages for accessing old data
|
||||
pnpm run deploy --project-name temp-email-v1
|
||||
```
|
||||
|
||||
## 2024-04-09 v0.0.0
|
||||
|
||||
release v0.0.0
|
||||
|
||||
## 2024-04-03
|
||||
|
||||
DB changes
|
||||
|
||||
- `db/2024-04-03-patch.sql`
|
||||
|
||||
Changes:
|
||||
|
||||
- add delete account
|
||||
- add admin panel search
|
||||
|
||||
## 2024-01-13
|
||||
|
||||
DB changes
|
||||
|
||||
- `db/2024-01-13-patch.sql`
|
||||
216
README_EN.md
216
README_EN.md
@@ -1,46 +1,196 @@
|
||||
<!-- markdownlint-disable-file MD033 MD045 -->
|
||||
# Cloudflare Temp Email
|
||||
# Cloudflare Temp Email - Free Temporary Email Service
|
||||
|
||||
<p align="center">
|
||||
<a href="README.md">🇨🇳 中文</a> |
|
||||
<a href="README_EN.md">🇺🇸 English</a>
|
||||
</p>
|
||||
|
||||
**A fully-featured temporary email service built on Cloudflare's free services.**
|
||||
|
||||
> This project is for learning and personal use only.
|
||||
|
||||
## 🚀 Quick Start
|
||||
|
||||
- [📖 Documentation](https://temp-mail-docs.awsl.uk/en/)
|
||||
- [🎯 Live Demo](https://mail.awsl.uk/)
|
||||
- [📝 CHANGELOG](CHANGELOG.md)
|
||||
|
||||
<p align="center">
|
||||
<a href="https://temp-mail-docs.awsl.uk/en/guide/actions/github-action.html">
|
||||
<img src="https://deploy.workers.cloudflare.com/button" alt="Deploy to Cloudflare Workers">
|
||||
<a href="https://temp-mail-docs.awsl.uk" target="_blank">
|
||||
<img alt="docs" src="https://img.shields.io/badge/docs-grey?logo=vitepress">
|
||||
</a>
|
||||
<a href="https://github.com/dreamhunter2333/cloudflare_temp_email/releases/latest" target="_blank">
|
||||
<img src="https://img.shields.io/github/v/release/dreamhunter2333/cloudflare_temp_email">
|
||||
</a>
|
||||
<a href="https://github.com/dreamhunter2333/cloudflare_temp_email/blob/main/LICENSE" target="_blank">
|
||||
<img alt="MIT License" src="https://img.shields.io/github/license/dreamhunter2333/cloudflare_temp_email">
|
||||
</a>
|
||||
<a href="https://github.com/dreamhunter2333/cloudflare_temp_email/graphs/contributors" target="_blank">
|
||||
<img alt="GitHub contributors" src="https://img.shields.io/github/contributors/dreamhunter2333/cloudflare_temp_email">
|
||||
</a>
|
||||
<a href="">
|
||||
<img alt="GitHub top language" src="https://img.shields.io/github/languages/top/dreamhunter2333/cloudflare_temp_email">
|
||||
</a>
|
||||
<a href="">
|
||||
<img src="https://img.shields.io/github/last-commit/dreamhunter2333/cloudflare_temp_email">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
## ✨ Key Features
|
||||
<p align="center">
|
||||
<a href="https://hellogithub.com/repository/2ccc64bb1ba346b480625f584aa19eb1" target="_blank">
|
||||
<img src="https://abroad.hellogithub.com/v1/widgets/recommend.svg?rid=2ccc64bb1ba346b480625f584aa19eb1&claim_uid=FxNypXK7UQ9OECT" alt="Featured|HelloGitHub" height="30"/>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
- **📧 Email Processing**: Rust WASM parser, **AI email extraction** (verification codes, auth links), SMTP/IMAP support, attachments, auto-reply
|
||||
- **👥 User Management**: OAuth2 login, Passkey authentication, role management
|
||||
- **🌐 Admin Panel**: Complete admin console, user management, scheduled cleanup
|
||||
- **🤖 Integrations**: Telegram Bot, webhooks, CAPTCHA, rate limiting
|
||||
- **<2A> Modern UI**: Multi-language, responsive design, JWT auto-login
|
||||
<p align="center">
|
||||
<a href="README.md">🇨🇳 中文文档</a> |
|
||||
<a href="README_EN.md">🇺🇸 English Document</a>
|
||||
</p>
|
||||
|
||||
## 🏗️ Tech Stack
|
||||
> This project is for learning and personal use only. Please do not use it for any illegal activities, or you will be responsible for the consequences.
|
||||
|
||||
- **Frontend**: Vue 3 + TypeScript + Vite
|
||||
- **Backend**: Cloudflare Workers + D1 Database
|
||||
- **Email**: Cloudflare Email Routing + Rust WASM Parser
|
||||
**🎉 A fully-featured temporary email service!**
|
||||
|
||||
- 🆓 **Completely Free** - Built on Cloudflare's free services with zero cost
|
||||
- ⚡ **High Performance** - Rust WASM email parsing for extremely fast response
|
||||
- 🎨 **Modern UI** - Responsive design with multi-language support and easy operation
|
||||
- 🔐 **Address Password** - Support setting individual passwords for email addresses to enhance security (enabled via `ENABLE_ADDRESS_PASSWORD`)
|
||||
|
||||
## 📚 Deployment Documentation - Quick Start
|
||||
|
||||
[📖 Documentation](https://temp-mail-docs.awsl.uk) | [🚀 Github Action Deployment Guide](https://temp-mail-docs.awsl.uk/en/guide/actions/github-action.html)
|
||||
|
||||
<a href="https://temp-mail-docs.awsl.uk/en/guide/actions/github-action.html">
|
||||
<img src="https://deploy.workers.cloudflare.com/button" alt="Deploy to Cloudflare Workers" height="32">
|
||||
</a>
|
||||
|
||||
## 📝 Changelog
|
||||
|
||||
See [CHANGELOG](CHANGELOG.md) for the latest updates.
|
||||
|
||||
## 🎯 Live Demo
|
||||
|
||||
Try it now → [https://mail.awsl.uk/](https://mail.awsl.uk/)
|
||||
|
||||
<details>
|
||||
<summary>📊 Service Status Monitoring (Click to expand/collapse)</summary>
|
||||
|
||||
| | |
|
||||
| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| [Backend](https://temp-email-api.awsl.uk/) | [](https://github.com/dreamhunter2333/cloudflare_temp_email/actions/workflows/backend_deploy.yaml)       |
|
||||
| [Frontend](https://mail.awsl.uk/) | [](https://github.com/dreamhunter2333/cloudflare_temp_email/actions/workflows/frontend_deploy.yaml)       |
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>⭐ Star History (Click to expand/collapse)</summary>
|
||||
|
||||
<picture>
|
||||
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=dreamhunter2333/cloudflare_temp_email&type=Date&theme=dark" />
|
||||
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=dreamhunter2333/cloudflare_temp_email&type=Date" />
|
||||
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=dreamhunter2333/cloudflare_temp_email&type=Date" />
|
||||
</picture>
|
||||
|
||||
</details>
|
||||
|
||||
<details open>
|
||||
<summary>📖 Table of Contents (Click to expand/collapse)</summary>
|
||||
|
||||
- [Cloudflare Temp Email - Free Temporary Email Service](#cloudflare-temp-email---free-temporary-email-service)
|
||||
- [📚 Deployment Documentation - Quick Start](#-deployment-documentation---quick-start)
|
||||
- [📝 Changelog](#-changelog)
|
||||
- [🎯 Live Demo](#-live-demo)
|
||||
- [✨ Core Features](#-core-features)
|
||||
- [📧 Email Processing](#-email-processing)
|
||||
- [👥 User Management](#-user-management)
|
||||
- [🔧 Admin Features](#-admin-features)
|
||||
- [🌐 Multi-language \& Interface](#-multi-language--interface)
|
||||
- [🤖 Integration \& Extensions](#-integration--extensions)
|
||||
- [🏗️ Technical Architecture](#️-technical-architecture)
|
||||
- [🏛️ System Architecture](#️-system-architecture)
|
||||
- [🛠️ Tech Stack](#️-tech-stack)
|
||||
- [📦 Main Components](#-main-components)
|
||||
- [🌟 Join the Community](#-join-the-community)
|
||||
|
||||
</details>
|
||||
|
||||
## ✨ Core Features
|
||||
|
||||
<details open>
|
||||
<summary>✨ Core Features Details (Click to expand/collapse)</summary>
|
||||
|
||||
### 📧 Email Processing
|
||||
|
||||
- [x] Use `rust wasm` to parse emails, with fast parsing speed. Almost all emails can be parsed. Even emails that Node.js parsing modules fail to parse can be successfully parsed by rust wasm
|
||||
- [x] **AI Email Recognition** - Use Cloudflare Workers AI to automatically extract verification codes, authentication links, service links and other important information from emails
|
||||
- [x] Support sending emails with `DKIM` verification
|
||||
- [x] Support multiple sending methods such as `SMTP` and `Resend`
|
||||
- [x] Add attachment viewing feature with support for displaying attachment images
|
||||
- [x] Support S3 attachment storage and deletion
|
||||
- [x] Spam detection and blacklist/whitelist configuration
|
||||
- [x] Email forwarding feature with global forwarding address support
|
||||
|
||||
### 👥 User Management
|
||||
|
||||
- [x] Use `credentials` to log in to previously used mailboxes
|
||||
- [x] Add complete user registration and login functionality. Users can bind email addresses and automatically obtain email JWT credentials to switch between different mailboxes after binding
|
||||
- [x] Support `OAuth2` third-party login (Github, Authentik, etc.)
|
||||
- [x] Support `Passkey` passwordless login
|
||||
- [x] User role management with support for multi-role domain and prefix configuration
|
||||
- [x] User inbox viewing with address and keyword filtering support
|
||||
|
||||
### 🔧 Admin Features
|
||||
|
||||
- [x] Complete admin console
|
||||
- [x] Create mailboxes without prefix in `admin` backend
|
||||
- [x] Admin user management page with user address viewing feature
|
||||
- [x] Scheduled cleanup function with support for multiple cleanup strategies
|
||||
- [x] Get mailboxes with custom names, `admin` can configure blacklist
|
||||
- [x] Add access password for use as a private site
|
||||
|
||||
### 🌐 Multi-language & Interface
|
||||
|
||||
- [x] Both frontend and backend support multi-language
|
||||
- [x] Modern UI design with responsive layout
|
||||
- [x] Google Ads integration support
|
||||
- [x] Use shadow DOM to prevent style pollution
|
||||
- [x] Support URL JWT parameter auto-login
|
||||
|
||||
### 🤖 Integration & Extensions
|
||||
|
||||
- [x] Complete `Telegram Bot` support, `Telegram` push notifications, and Telegram Bot mini app
|
||||
- [x] Add `SMTP proxy server` supporting `SMTP` for sending emails and `IMAP` for viewing emails
|
||||
- [x] Webhook support and message push integration
|
||||
- [x] Support `CF Turnstile` CAPTCHA verification
|
||||
- [x] Rate limiting configuration to prevent abuse
|
||||
|
||||
</details>
|
||||
|
||||
## 🏗️ Technical Architecture
|
||||
|
||||
<details>
|
||||
<summary>🏗️ Technical Architecture Details (Click to expand/collapse)</summary>
|
||||
|
||||
### 🏛️ System Architecture
|
||||
|
||||
- **Database**: Cloudflare D1 as the main database
|
||||
- **Frontend Deployment**: Deploy frontend using Cloudflare Pages
|
||||
- **Backend Deployment**: Deploy backend using Cloudflare Workers
|
||||
- **Email Routing**: Use Cloudflare Email Routing
|
||||
|
||||
### 🛠️ Tech Stack
|
||||
|
||||
- **Frontend**: Vue 3 + Vite + TypeScript
|
||||
- **Backend**: TypeScript + Cloudflare Workers
|
||||
- **Email Parsing**: Rust WASM (mail-parser-wasm)
|
||||
- **Database**: Cloudflare D1 (SQLite)
|
||||
- **Storage**: Cloudflare KV + R2 (optional S3)
|
||||
- **Proxy Service**: Python SMTP/IMAP Proxy Server
|
||||
|
||||
## 🌟 Community
|
||||
### 📦 Main Components
|
||||
|
||||
- **Worker**: Core backend service
|
||||
- **Frontend**: Vue 3 user interface
|
||||
- **Mail Parser WASM**: Rust email parsing module
|
||||
- **SMTP Proxy Server**: Python email proxy service
|
||||
- **Pages Functions**: Cloudflare Pages middleware
|
||||
- **Documentation**: VitePress documentation site
|
||||
|
||||
</details>
|
||||
|
||||
### Important Notes
|
||||
|
||||
- When adding domain records in Resend, if your DNS provider is hosting your 3rd level domain a.b.com, please remove the 2nd level domain prefix b from the default name generated by Resend, otherwise it will add a.b.b.com, causing verification to fail. After adding the record, you can verify it using:
|
||||
```bash
|
||||
nslookup -qt="mx" a.b.com 1.1.1.1
|
||||
```
|
||||
|
||||
## 🌟 Join the Community
|
||||
|
||||
- [Telegram](https://t.me/cloudflare_temp_email)
|
||||
|
||||
## 📄 License
|
||||
|
||||
MIT License - see [LICENSE](LICENSE) for details.
|
||||
|
||||
Reference in New Issue
Block a user