feat: add readme (#106)

This commit is contained in:
Dream Hunter
2024-04-09 18:55:53 +08:00
committed by GitHub
parent 796d72badb
commit a124e00766
3 changed files with 15 additions and 11 deletions

View File

@@ -150,6 +150,8 @@ database_id = "xxx" # D1 数据库 ID
部署
第一次部署会提示创建项目, `production` 分支请填写 `production`
```bash
pnpm run deploy
```
@@ -162,6 +164,8 @@ pnpm run deploy
## Cloudflare Email Routing
在将电子邮件地址绑定到您的 Worker 之前,您需要启用电子邮件路由并拥有至少一个经过验证的电子邮件地址。
配置对应域名的 `电子邮件 DNS 记录`
配置 `Cloudflare Email Routing` catch-all 发送到 `worker`
@@ -172,6 +176,8 @@ pnpm run deploy
## Cloudflare Pages 前端
第一次部署会提示创建项目, `production` 分支请填写 `production`
```bash
cd frontend
pnpm install

View File

@@ -43,6 +43,8 @@ wrangler d1 execute dev --file=db/schema.sql
### Backend - Cloudflare workers
The first deployment will prompt you to create a project. Please fill in `production` for the `production` branch.
```bash
cd worker
pnpm install
@@ -65,12 +67,18 @@ you can find and test the worker's url in the workers dashboard
![worker](readme_assets/worker.png)
## 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](readme_assets/email.png)
### Frontend - Cloudflare pages
The first deployment will prompt you to create a project. Please fill in `production` for the `production` branch.
```bash
cd frontend
pnpm install

View File

@@ -8,18 +8,8 @@ async function email(message, env, ctx) {
return;
}
if (!env.PREFIX || (message.to && message.to.startsWith(env.PREFIX))) {
const reader = message.raw.getReader();
const decoder = new TextDecoder("utf-8");
let rawEmail = "";
while (true) {
const { done, value } = await reader.read();
if (done) {
break;
}
rawEmail += decoder.decode(value);
}
const rawEmail = await new Response(message.raw).text();
const message_id = message.headers.get("Message-ID");
// save email
const { success } = await env.DB.prepare(
`INSERT INTO raw_mails (source, address, raw, message_id) VALUES (?, ?, ?, ?)`