react-email-editor

拖拽式生成精美邮件,无需写代码,快速集成到 React 应用

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 办公效率 🍴 复刻 803 🐛 待处理 249 👀 关注 52
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 5255
维护状态 较活跃
是否开源 开源
定价模式 🏷️完全免费 开源组件,MIT许可证,完全免费,可自行部署使用。

项目预览

react-email-editor 项目界面预览图
图片来源:项目官网

项目数据

分类办公效率
开发团队unlayer
定价模式🏷️完全免费
价格说明开源组件,MIT许可证,完全免费,可自行部署使用。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议MIT
主要语言TypeScript
技术栈/模型ai-assistant,ai-email,ai-email-assistant,ai-email-builder,ai-email-editor,ai-email-generator,ai-email-template-editor,ai-tools,builder,drag-and-drop,email,email-builder,email-editor,email-marketing,email-template,html-email,html-emails,react-component,template
GitHub 星标★ 5255
上线时间2017-10-01 00:00:00
代码更新2026-11-01
仓库体积1.9 MB
本站数据更新2026-11-08
维护状态较活跃
收录时间2026-08-09
浏览次数6

项目介绍

react-email-editor 是一个基于 React.js 的拖拽式邮件编辑器组件,旨在帮助开发者快速构建可视化邮件编辑功能。它解决了传统邮件模板开发效率低、非技术人员难以参与的问题,通过直观的拖拽界面,让用户无需编写 HTML 即可生成响应式邮件。核心能力包括:丰富的组件库(文本、图片、按钮、分隔线等)、实时预览、模板导入导出、自定义样式与主题,以及事件回调机制,方便与业务逻辑集成。编辑器基于 MJML 构建,输出兼容性良好的邮件 HTML,支持桌面和移动端适配。项目采用 TypeScript 编写,类型安全,易于维护。目前星标数超过 5000,社区活跃,适合需要集成邮件编辑功能的企业级应用、营销平台或 SaaS 服务。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 5255

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 6 步

环境要求

  • 一个已有的 React 项目(具备 React 构建流程,README 说明需嵌入自己的 React build 中)
  • 已安装 Node.js 与 npm(用于执行 npm install)
  • 示例代码使用 react-dom/client 的 createRoot,建议 React 18 及以上
  • 项目中可修改的入口文件(示例中使用 id 为 app 的 DOM 节点)

安装与启动步骤

  1. 1安装编辑器组件

    在项目根目录执行 npm 安装命令,把 react-email-editor 加入 dependencies,安装后即可在代码中引入。

    npm install react-email-editor --save
  2. 2引入组件与类型

    从 react-email-editor 默认导出 EmailEditor 组件,并按需引入 EditorRef、EmailEditorProps 两个类型。

    import EmailEditor, { EditorRef, EmailEditorProps } from 'react-email-editor';
  3. 3创建编辑器引用

    用 useRef 持有 EditorRef,通过 emailEditorRef.current?.editor 拿到 unlayer 实例来调用导出与加载方法。

    const emailEditorRef = useRef<EditorRef>(null);
    const unlayer = emailEditorRef.current?.editor;
  4. 4编写导出 HTML 方法

    调用 unlayer.exportHtml 回调,从返回对象中取出 design 与 html,这里用 console.log 打印导出结果。

    const exportHtml = () => {
      const unlayer = emailEditorRef.current?.editor;
      unlayer?.exportHtml((data) => {
        const { design, html } = data;
        console.log('exportHtml', html);
      });
    };
  5. 5渲染编辑器组件

    在 JSX 中挂载 EmailEditor,传入 ref 与 onReady;onReady 里可调用 unlayer.loadDesign 载入已有模板 JSON。

    <EmailEditor ref={emailEditorRef} onReady={onReady} />
  6. 6挂载渲染应用

    使用 createRoot 把 App 渲染到页面上 id 为 app 的节点,运行项目后即可看到拖拽式邮件编辑器。

    createRoot(document.getElementById('app')!).render(<App />);

关键配置

配置项必填说明示例
ref是编辑器实例引用,用于调用 exportHtml、loadDesign 等方法emailEditorRef
onReady否编辑器就绪后的回调,参数为 unlayer 实例,可用于加载模板(unlayer) => { unlayer.loadDesign(templateJson); }

如何确认成功

运行项目后页面渲染出拖拽式邮件编辑器,点击 Export HTML 按钮,浏览器控制台打印出导出的邮件 HTML。

常见问题

Q:如何导出邮件 HTML?

A:通过 ref 取到 unlayer 实例,调用 unlayer.exportHtml((data) => {...}),回调参数中包含 design(设计 JSON)和 html(邮件 HTML)。

Q:如何加载已有模板?

A:在 onReady 回调中拿到 unlayer 后调用 unlayer.loadDesign(templateJson),模板 JSON 可通过 loadDesign 或 exportHtml 回调获得。

Q:必须用 TypeScript 吗?

A:不必,组件本身用 TypeScript 编写并导出 EditorRef、EmailEditorProps 等类型,普通 JSX 项目同样可以使用。

注意事项

  • README 明确说明该组件需安装到 NPM 并包含在你自己的 React 构建流程中使用,不是独立可运行的完整应用。
  • 示例代码使用了 react-dom/client 的 createRoot,属于 React 18 的写法,低版本 React 需自行改写挂载方式。
  • README 未给出 Unlayer 账号、API Key 或服务端相关配置说明,如有需要请参考官网 unlayer.com。

核心亮点

  • 拖拽式可视化编辑,零代码生成响应式邮件,大幅降低邮件模板制作门槛
  • 基于 MJML 生成兼容性强的 HTML,确保在主流邮件客户端正确渲染
  • 提供丰富的组件库和自定义选项,支持主题、样式和事件回调,灵活适配业务需求

不足之处

  • 文档偏少,高级定制需深入源码或依赖社区示例
  • 编辑器 UI 为英文,国际化支持需自行扩展

适用场景

  • SaaS 平台集成邮件编辑功能,让用户自助设计营销邮件
  • 企业内部邮件模板管理,非技术人员快速制作通知或简报
  • 开发者快速搭建邮件编辑器原型,减少从零开发成本

替代项目

Unlayer、Mailjet 编辑器、MJML

上一篇:Design-Learn

下一篇:awesome-claude-design

同类项目推荐

poster-studio 开源

浏览器里做小红书封面,开箱即用零门槛

乔木画布:小红书封面、知识卡片和社媒海报设计工作台 | Browser poster studio for Xiaoh···

★ 98 2026-08-09
Design-Learn 开源

把参考网站的设计风格,一键变成 AI 可用的规则。

Extract reference-site design language into reusable rules for AI coding tools.

★ 172 2026-08-09
noisemaker 开源

用几行代码生成酷炫噪声纹理和视觉特效

A friendly and extendable shader art engine.

★ 124 2026-08-09
generative-art-in-go 开源

边看书边敲代码,用Go画出你的第一幅生成艺术

A companion source code repository to the book "Generative Art in Go"

★ 109 2026-08-09
sketchy 开源

用 Go 写代码,轻松生成惊艳的生成艺术

A framework for creating generative art in Go

★ 107 2026-08-09
web-builder 开源

拖拽加AI,快速生成响应式网站,零代码也能做UI

AI 驱动 UI 生成和发布的低代码平台,基于TailwindCss,通过拖拽可视化快速构建现代化响应···

★ 585 2026-08-09
guizang-material-illustration 开源

让AI生成带中文标注的材质感插画和美化图表

归藏的材质插画 skill:生成带字解释图、图表美化和参考辅助配图。

★ 1243 2026-08-09
vsvg 开源

让绘图机用户快速处理 SVG,告别卡顿和格式烦恼

Fast and portable tools for plotter users

★ 155 2026-08-09
fantasy-dongfang-jianyuehaibao 开源

一键生成有文化底蕴的东方海报,标题版式全搞定

东方文化编辑海报 v2 Codex skill:Image 2 出图、中文标题精炼、真实文化物证、A/B/C 三联···

★ 126 2026-08-09