邮件订阅
学习如何设置和使用 Resend 进行邮件订阅管理
TanStarter 使用 Resend 来管理邮件订阅。
设置
创建 Resend 账户
在 resend.com 创建 Resend 账户。
获取 API 密钥
点击 API Keys > Create API Key,设置权限为 Send emails 或 Full access。复制 API Key,并添加到环境变量文件:
RESEND_API_KEY=your-resend-api-key更新网站配置
更新网站配置以使用 Resend 进行邮件订阅管理:
export const websiteConfig = {
// ...其他配置
newsletter: {
enable: true,
provider: 'resend',
autoSubscribeAfterSignUp: true, // 是否在用户注册后自动订阅
},
// ...其他配置
}如果您正在设置环境,现在可以回到环境配置文档并继续。本文档的其余部分可以稍后阅读。
环境配置
设置环境变量
自定义
创建自定义提供商
如果您需要使用不同的邮件订阅服务,您可以创建自定义邮件订阅服务提供商:
- 在
src/newsletter/provider目录中创建新的文件 - 实现
NewsletterProvider接口
import type {
CheckSubscribeStatusParams,
NewsletterProvider,
SubscribeNewsletterParams,
UnsubscribeNewsletterParams,
} from '@/newsletter/types';
export class CustomNewsletterProvider implements NewsletterProvider {
constructor() {
// 初始化您的邮件订阅服务提供商
}
public getProviderName(): string {
return 'custom';
}
async subscribe({ email }: SubscribeNewsletterParams): Promise<boolean> {
// 订阅用户的实现
return true;
}
async unsubscribe({ email }: UnsubscribeNewsletterParams): Promise<boolean> {
// 取消订阅用户的实现
return true;
}
async checkSubscribeStatus({ email }: CheckSubscribeStatusParams): Promise<boolean> {
// 检查订阅状态的实现
return true;
}
}- 在
src/newsletter/index.ts中的providerRegistry注册新的邮件订阅服务提供商:
import { CustomNewsletterProvider } from './provider/custom-provider';
const providerRegistry: Record<NewsletterProviderName, ProviderFactory> = {
resend: () => new ResendNewsletterProvider(),
custom: () => new CustomNewsletterProvider(),
};下一步
现在您了解了如何在 TanStarter 中使用邮件订阅,您可能想要探索这些相关功能:
TanStarter 文档