域名临时邮箱

域名临时邮箱

参考视频:https://www.youtube.com/watch?v=FxZXNvLfLMc

后端配置

数据库创建

先点击想要弄的域名,进入到电子邮件路由

域名临时邮箱1.png

并启用,启用完后进入到主页面点击存储和数据库并创建数据库

域名临时邮箱2.png

创建一个名为maildb的数据库,接着就需要进行建表操作,github地址:https://github.com/dreamhunter2333/cloudflare_temp_email/blob/main/db/schema.sql

建表语句如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
CREATE TABLE IF NOT EXISTS raw_mails (
id INTEGER PRIMARY KEY,
message_id TEXT,
source TEXT,
address TEXT,
raw TEXT,
metadata TEXT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

CREATE INDEX IF NOT EXISTS idx_raw_mails_address ON raw_mails(address);

CREATE INDEX IF NOT EXISTS idx_raw_mails_created_at ON raw_mails(created_at);

CREATE INDEX IF NOT EXISTS idx_raw_mails_message_id ON raw_mails(message_id);

CREATE TABLE IF NOT EXISTS address (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT UNIQUE,
password TEXT,
source_meta TEXT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

CREATE INDEX IF NOT EXISTS idx_address_name ON address(name);

CREATE INDEX IF NOT EXISTS idx_address_created_at ON address(created_at);

CREATE INDEX IF NOT EXISTS idx_address_updated_at ON address(updated_at);

CREATE INDEX IF NOT EXISTS idx_address_source_meta ON address(source_meta);

CREATE TABLE IF NOT EXISTS auto_reply_mails (
id INTEGER PRIMARY KEY,
source_prefix TEXT,
name TEXT,
address TEXT UNIQUE,
subject TEXT,
message TEXT,
enabled INTEGER DEFAULT 1,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

CREATE INDEX IF NOT EXISTS idx_auto_reply_mails_address ON auto_reply_mails(address);

CREATE TABLE IF NOT EXISTS address_sender (
id INTEGER PRIMARY KEY,
address TEXT UNIQUE,
balance INTEGER DEFAULT 0,
enabled INTEGER DEFAULT 1,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

CREATE INDEX IF NOT EXISTS idx_address_sender_address ON address_sender(address);

CREATE TABLE IF NOT EXISTS sendbox (
id INTEGER PRIMARY KEY,
address TEXT,
raw TEXT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

CREATE INDEX IF NOT EXISTS idx_sendbox_address ON sendbox(address);

CREATE INDEX IF NOT EXISTS idx_sendbox_created_at ON sendbox(created_at);

CREATE TABLE IF NOT EXISTS settings (
key TEXT PRIMARY KEY,
value TEXT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY,
user_email TEXT UNIQUE NOT NULL,
password TEXT NOT NULL,
user_info TEXT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

CREATE INDEX IF NOT EXISTS idx_users_user_email ON users(user_email);

CREATE TABLE IF NOT EXISTS users_address (
id INTEGER PRIMARY KEY,
user_id INTEGER,
address_id INTEGER UNIQUE,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

CREATE INDEX IF NOT EXISTS idx_users_address_user_id ON users_address(user_id);

CREATE INDEX IF NOT EXISTS idx_users_address_address_id ON users_address(address_id);

CREATE TABLE IF NOT EXISTS user_roles (
id INTEGER PRIMARY KEY,
user_id INTEGER UNIQUE NOT NULL,
role_text TEXT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

CREATE INDEX IF NOT EXISTS idx_user_roles_user_id ON user_roles(user_id);

CREATE TABLE IF NOT EXISTS user_passkeys (
id INTEGER PRIMARY KEY,
user_id INTEGER NOT NULL,
passkey_name TEXT NOT NULL,
passkey_id TEXT NOT NULL,
passkey TEXT NOT NULL,
counter INTEGER DEFAULT 0,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

CREATE INDEX IF NOT EXISTS idx_user_passkeys_user_id ON user_passkeys(user_id);

CREATE UNIQUE INDEX IF NOT EXISTS idx_user_passkeys_user_id_passkey_id ON user_passkeys(user_id, passkey_id);

接着在控制台执行这个语句

域名临时邮箱3.png

Work创建

进入到work and page中(计算和Ai),创建应用程序

域名临时邮箱4.png

选择从Hello World!开始,命名为mailapi

域名临时邮箱5.png

点击部署之后点击设置,找到兼容性标志填写nodejs_compat

域名临时邮箱6.png

接着点击右上角的编辑代码先将原来的代码,填入我们需要的邮件服务的代码,github地址:https://github.com/dreamhunter2333/cloudflare_temp_email/releases/latest/download/worker.js

域名临时邮箱8.png

接着绑定数据库

域名临时邮箱9.png

接着这个可以绑定域名也可以不绑

域名临时邮箱10.png

这样就好了可以访问看看

域名临时邮箱11.png

这个可以先不用管后面会解决

设置环境变量

官方环境变量地址https://temp-mail-docs.awsl.uk/zh/guide/worker-vars

根据官方文档来填写环境变量

域名临时邮箱12.png

按照官方文档一步一步来就好了,接着这里要设置JWT秘钥网址是:https://www.librechat.ai/toolkit/creds_generator

域名临时邮箱14.png

KV键值库

找到Workers KV,命名随便命名

域名临时邮箱15.png

接着去worker上绑定

域名临时邮箱16.png

这样好后就接着将Catch-All开启

域名临时邮箱17.png

开启后点击编辑

域名临时邮箱18.png

这样后端就配置好了

前端配置

这个前端配置可以看官网:https://temp-mail-docs.awsl.uk/zh/guide/ui/pages

接着根据下面图片操作走

域名临时邮箱19.png

输入完之后就可以将前端文件下载下来,接着打开worker and page点击创建应用程序,点击pages

域名临时邮箱21.png

点击拖放文件将zip文件放进去就可以了,这样前端就弄好了,接着就可以访问了

点击6次这个图标就可以进入到管理员登入

域名临时邮箱22.png