TikTok Shop Video Generator
只要一鍵,即可將任何病毒式 TikTok 影片轉換為您的商品廣告。適用於 TikTok Shop 賣家與聯盟行銷者——無需拍攝、無需剪輯。免費試用。
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗A self-hosted email campaign platform built with Next.js. Configure SMTP servers, manage subscriber lists, compose emails with a block-based editor, and send campaigns — all from a single interface. Data is stored locally in the browser via IndexedDB, so no external database is required.
Live: bismuth-mail.vercel.app
/campaigns/:id/compose|send|logs), with live sidebar progress, resume, retry-failed, search, filtered log export, pre-send checks, and test emails{{field}} placeholders in subject and body, resolved per-contact from list custom fieldsList-Unsubscribe mailto header, multipart text/plain, sanitized HTML blocks, and uploaded images sent as CID inline partschangelog.yaml| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router) |
| UI | React 19, Radix UI, Tailwind CSS 4 |
| Components | shadcn/ui pattern |
| Database | Dexie (IndexedDB) |
| Nodemailer via API routes | |
| Validation | Zod |
| Language | TypeScript 6 |
git clone https://github.com/gbordiga/bismuth-mail.git
cd bismuth-mail
pnpm install
pnpm dev
Open http://localhost:3000 in your browser.
pnpm build
pnpm start
main, using Node 22.pnpm lint, tsc --noEmit, pnpm test, and pnpm build.send, send-batch, test) plus email building, merge fields, attachments, backup, CSV, send engine, and campaign workspace helpers./api/smtp/* routes to perform test/send operations.bismuth-mail/
├── app/
│ ├── api/
│ │ ├── changelog/ # Serves structured notes from changelog.yaml
│ │ └── smtp/ # API routes for sending and testing emails
│ ├── (dashboard)/ # Route-based app sections
│ │ ├── smtp/page.tsx
│ │ ├── senders/page.tsx
│ │ ├── lists/page.tsx
│ │ ├── campaigns/ # Hub plus /new and /:id/compose|send|logs
│ │ ├── editor/page.tsx # Redirects to /campaigns
│ │ ├── send/page.tsx # Redirects to the sending campaign or /campaigns
│ │ └── backup/page.tsx
│ ├── layout.tsx # Root layout with theme provider
│ ├── page.tsx # Redirects to /smtp
│ └── globals.css # Global styles and Tailwind imports
├── components/
│ ├── app-shell.tsx # Navigation shell with sidebar progress
│ ├── smtp-config.tsx # SMTP server management
│ ├── sender-section.tsx # Sender profile management
│ ├── email-list-section.tsx # Contact list management
│ ├── campaign-list.tsx # Campaign hub
│ ├── campaign-workspace.tsx # Compose / Send / Logs chrome
│ ├── newsletter-editor.tsx # Campaign compose phase
│ ├── send-campaign.tsx # Campaign send phase
│ ├── campaign-send-logs.tsx # Campaign logs phase
│ ├── onboarding-guide.tsx # First-run setup checklist
│ ├── changelog-modal.tsx # In-app version history
│ ├── backup-section.tsx # Data backup and restore
│ └── ui/ # Reusable UI primitives (shadcn/ui)
├── hooks/ # Shared client hooks (Dexie tables, changelog)
└── lib/
├── db.ts # Dexie database schema and types (IndexedDB only)
├── email-builder.ts # HTML email template builder
├── send-engine.ts # Recipient selection and campaign status helpers
├── sending-context.tsx # Live send progress across the app
├── repositories/ # Campaign, send-log, and suppression queries
├── validations.ts # Zod schemas for API validation
└── __tests__/ # Vitest coverage for routes and helpers
A setup guide in the sidebar walks through these steps on first run. All data stays in your browser's IndexedDB. Use the Backup section to export/import your data as JSON.
See changelog.yaml for a detailed list of changes between versions.
Contributions are welcome! Feel free to open an issue or submit a pull request.
git checkout -b feature/my-feature)git commit -m 'feat: add my feature')git push origin feature/my-feature)This project is licensed under the MIT License.