邮件订阅
ShipSaaS 支持 Resend 和 Beehiiv 来管理邮件订阅。
ShipSaaS 支持 Resend 和 Beehiiv 作为内置提供商。
Resend
Section titled “Resend”Resend
Section titled “Resend”创建 Resend 账户
Section titled “创建 Resend 账户”在 resend.com 创建 Resend 账户,并绑定和验证您的网站域名。
获取 API 密钥
Section titled “获取 API 密钥”进入 Resend 控制台 > API Keys,创建新的 API 密钥,设置权限时确保要包含发送邮件的权限
配置环境变量
Section titled “配置环境变量”将以下内容添加到您的 .env 文件中:
.env
RESEND_API_KEY=re_xxxxxxxxxxxx注意: 使用 Resend 时,RESEND_API_KEY 在邮件模块和邮件订阅模块之间共享。
更新网站配置
Section titled “更新网站配置”更新网站配置以使用 Resend 进行邮件订阅管理:
src/config/website.ts
export const websiteConfig = { // ...其他配置 newsletter: { enable: true, provider: 'resend', autoSubscribeAfterSignUp: true, // 是否在用户注册后自动订阅 }, // ...其他配置}Beehiiv
Section titled “Beehiiv”Beehiiv
Section titled “Beehiiv”创建 Beehiiv 账户
Section titled “创建 Beehiiv 账户”在 beehiiv.com 创建 Beehiiv 账户。
获取 API 密钥和 Publication ID
Section titled “获取 API 密钥和 Publication ID”- 进入
Settings>API生成 API 密钥。 - 从 URL 或设置页面获取您的
Publication ID。
配置环境变量
Section titled “配置环境变量”将以下内容添加到您的 .env 文件中:
.env
BEEHIIV_API_KEY=your-beehiiv-api-keyBEEHIIV_PUBLICATION_ID=your-beehiiv-publication-id更新网站配置
Section titled “更新网站配置”更新网站配置以使用 Beehiiv 进行邮件订阅管理:
src/config/website.ts
export const websiteConfig = { // ...其他配置 newsletter: { enable: true, provider: 'beehiiv', autoSubscribeAfterSignUp: true, // 是否在用户注册后自动订阅 }, // ...其他配置}如果您正在设置环境,现在可以回到环境配置文档并继续。本文档的其余部分可以稍后阅读。
创建自定义提供商
Section titled “创建自定义提供商”如果您需要使用不同的邮件订阅服务,您可以创建自定义邮件订阅服务提供商:
- 在
src/newsletter/provider目录中创建新的文件 - 实现
NewsletterProvider接口
src/newsletter/provider/custom-provider.ts
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注册新的邮件订阅服务提供商:
src/newsletter/index.ts
import { CustomNewsletterProvider } from './provider/custom-provider';
const providerRegistry: Record<NewsletterProviderName, ProviderFactory> = { resend: () => new ResendNewsletterProvider(), beehiiv: () => new BeehiivNewsletterProvider(), custom: () => new CustomNewsletterProvider(),};现在您了解了如何在 ShipSaaS 中使用邮件订阅,您可能想要探索这些相关功能: