Skip to content

Latest commit

 

History

History
150 lines (103 loc) · 5.29 KB

receive-tutorial.md

File metadata and controls

150 lines (103 loc) · 5.29 KB

接收邮件部署教程

1.注册一个 turso 账户,创建数据库,并创建一个emails

注册后,系统会提示您创建一个数据库。在这里我将其命名为 vmail

然后,创建一个名为 emails 的表。

选择您的数据库,您会看到“编辑表”按钮,点击并进入,继续点击左上角的 SQL runner 按钮,将sql脚本复制到终端运行:

查看脚本内容
CREATE TABLE `emails` (
 `id` text PRIMARY KEY NOT NULL,
 `message_from` text NOT NULL,
 `message_to` text NOT NULL,
 `headers` text NOT NULL,
 `from` text NOT NULL,
 `sender` text,
 `reply_to` text,
 `delivered_to` text,
 `return_path` text,
 `to` text,
 `cc` text,
 `bcc` text,
 `subject` text,
 `message_id` text NOT NULL,
 `in_reply_to` text,
 `references` text,
 `date` text,
 `html` text,
 `text` text,
 `created_at` integer NOT NULL,
 `updated_at` integer NOT NULL
);
手动创建表(旧版方法) Cli 文档:https://docs.turso.tech/cli/introduction

Linux (或 mac/windows) 终端执行:

安装(安装后记得重启终端生效)

curl -sSfL https://get.tur.so/install.sh | bash

登录账户

turso auth login

连接到您的Turso数据库

turso db shell

2.部署 email worker

需要准备 Node 环境(推荐 18.x 及以上),并且需要安装 wrangler cli 并在本地登录,参考 https://developers.cloudflare.com/workers/wrangler/install-and-update (登录时建议开启VPN)

# 安装 pnpm 
npm install -g pnpm
git clone https://github.com/oiov/vmail

cd vmail

# 安装依赖
pnpm install

vmail/apps/email-worker/wrangler.toml 文件中填写必要的环境变量。

  • TURSO_DB_AUTH_TOKEN(第1步中的turso表信息,点击“Generate Token”)
  • TURSO_DB_URL(例如 libsql://db-name.turso.io)
  • EMAIL_DOMAIN (域名,如 vmail.dev)

如果您不执行此步骤,可以在Cloudflare的 worker settings 中添加环境变量

然后运行命令:

cd apps/email-worker

pnpm run deploy

3.配置电子邮件路由规则

设置“Catch-all”操作为发送到 email worker:

4.在 Vercel 或 fly.io 上部署 Remix 应用程序

确保在部署时准备并填写以下环境变量(.env.example):

变量名 说明 示例
COOKIES_SECRET 必填,cookie加密密钥,随机字符串 12345abcde
TURSO_DB_RO_AUTH_TOKEN 必填,turso数据库只读凭据 my-turso-db-ro-auth-token
TURSO_DB_URL 必填,turso数据库URL libsql://db-name.turso.io
EMAIL_DOMAIN 必填,域名后缀,支持多个 vmail.dev,meetu.dev
EXPIRY_TIME 可选,邮箱过期时间,单位秒,默认86400 86400
TURNSTILE_KEY 可选,网站验证所需的 Turnstile Key my-turnstile-key
TURNSTILE_SECRET 可选,网站验证所需的 Turnstile Secret my-turnstile-secret

获取 TURNSTILE_KEYTURNSTILE_SECRET 请前往 cloudflare 控制台 https://dash.cloudflare.com/?to=/:account/turnstile

Vercel:

推荐使用一键部署按钮(此操作会在你的github账户中自动创建vmail仓库并关联部署到vercel):

Deploy with Vercel

或手动将代码推送到你的 Github 仓库,并在 Vercel 面板中创建项目。选择 New project,然后导入对应的 Github 仓库,填写环境变量,选择 Remix 框架,点击 Deploy,等待部署完成。

部署完后继续点击 Countinu to Dashboard,进入 Settings -> General,修改下面设置:

注意一定要修改目录为 apps/remix,否则部署后访问网站会出现404错误:

然后进入 Deployments 重新部署一次,或向 github 推送代码重新触发部署

fly.io:

cd vmail/apps/remix 
fly launch

5.部署成功后在 cloudflare 添加域名解析(A记录)到对应平台

vercel 演示如何解析:

6.在CF域名控制台修改加密模式为完全(或严格)

若不修改,访问网站会出现重定向次数过多错误

以上,完成!