Videa Docs
Email

邮件系统

基于 Resend 的交易邮件。

概述

Videa 使用 Resend 发送交易邮件。所有邮件逻辑在 lib/email.ts 中。

邮件类型

邮件触发条件模板
验证邮件用户注册emails/verification-email.tsx
密码重置忘记密码请求emails/reset-password-email.tsx
欢迎邮件邮箱验证完成后内联
购买确认支付 webhook内联
订阅到期提醒到期前数天内联
积分不足提醒余额低于阈值内联

配置

RESEND_API_KEY="re_your_api_key"
RESEND_FROM_EMAIL="Videa <noreply@yourdomain.com>"

开发模式

开发环境无验证域名时,Resend 使用 onboarding@resend.dev 作为发件人。

生产环境

生产环境需在 Resend 面板验证域名,并设置 RESEND_FROM_EMAIL 使用已验证的域名。

邮件模板

模板使用 React Email 组件,位于 emails/ 目录:

// emails/verification-email.tsx
import { Html, Body, Text, Link } from '@react-email/components';

export default function VerificationEmail({ url }: { url: string }) {
  return (
    <Html>
      <Body>
        <Text>点击下方链接验证邮箱:</Text>
        <Link href={url}>验证邮箱</Link>
      </Body>
    </Html>
  );
}

错误处理

所有邮件发送都包裹在 try-catch 中。发送失败会记录日志但不会导致应用崩溃。系统返回成功/错误元组而非抛出异常:

const [success, error] = await sendVerificationEmail(email, token);

On this page