mcpField
R
react-email

react-email

github.com/oakoss设计与 UI20116 次安装11 周前更新
代码仓库

关于 react-email

React Email 是一个使用 React 组件构建响应式 HTML 邮件的库,提供适配邮件客户端的布局和样式选项,并可渲染为 HTML 或纯文本,适用于事务及营销邮件模板。

主要功能

  1. 01用 React 组件构建邮件
  2. 02使用易访问的邮件组件
  3. 03应用内联样式或 Tailwind
  4. 04渲染为 HTML 和纯文本
  5. 05通过热重载预览邮件
  6. 06添加 Markdown 与代码块

适用场景

  1. 01创建事务邮件模板
  2. 02构建营销邮件设计
  3. 03维护邮件设计系统
  4. 04在服务器端渲染邮件内容

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/oakoss/agent-skills --skill react-email

安装后在 Claude Code 中输入/react-email确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
components.md
rendering.md
styling-and-layout.md

详细介绍

React Email

概述

React Email 是一个使用 React 组件构建响应式 HTML 邮件的库。它提供了一组无样式、易于访问的组件,可渲染为兼容邮件客户端的 HTML。支持内联样式、通过包装组件使用 Tailwind CSS、自定义 Web 字体,以及渲染为 HTML 和纯文本。

适用场景: 事务性邮件(欢迎邮件、密码重置邮件、收据)、营销模板、邮件设计系统,以及任何在服务器端渲染邮件的项目。

不适用场景: 没有动态内容的静态 HTML 邮件模板、已使用专用邮件构建器(MJML、Maizzle)的项目,或只需要纯文本邮件的情况。

快速参考

模式API要点
文档结构Html, Head, BodyHtml 包裹所有内容,Head 加载字体和元数据
内容容器Container将内容居中,设置 max-width
布局网格Section, Row, Column使用基于表格的布局,适用于邮件客户端
文本内容Text, HeadingHeading 接受用于 h1-h6 的 as 属性
链接Link标准锚点,必须设置 href
行动号召Button渲染为经过按钮样式设计的链接,必须设置 href
图片Img始终设置 width、height、alt
分隔线Hr在各个部分之间添加水平线
收件箱预览Preview设置收件箱列表中显示的预览文本
自定义字体Font放在 Head 内,设置 webFont 和 fallbackFontFamily
Tailwind 样式Tailwind包裹邮件,并在渲染时内联 Tailwind 类
渲染为 HTMLrender(<Email />)异步,返回 HTML 字符串
渲染为纯文本render(<Email />, { plainText: true })移除 HTML,返回文本
美化输出render(<Email />, { pretty: true })返回格式化的 HTML,便于调试
预览服务email dev支持热重载的本地开发服务
Markdown 内容Markdown将 Markdown 渲染为兼容邮件的 HTML
代码块CodeBlock支持主题的语法高亮代码
行内代码CodeInline等宽字体的行内代码片段

常见错误

错误正确做法
将 className 与内联样式一起使用使用 Tailwind(className)或内联 style 对象,不要在同一个元素上同时使用两者
忘记为 Img 设置 width/height始终指定尺寸,以防电子邮件客户端中的布局发生偏移
在 Container 中嵌套 Container使用一个 Container 实现居中,使用 Section/Row/Column 实现内部布局
使用 CSS Grid 或 Flexbox使用 Section、Row、Column 实现基于表格且兼容各类电子邮件客户端的布局
将 Font 放在 Head 外部Font 必须是 Head 的子元素才能正确加载
同步使用 render()render() 是异步的,始终使用 await 获取结果
在 Html 内部包裹 Tailwind应由 Tailwind 包裹 Html,而不是反过来
忽略 Preview 组件若没有 Preview,电子邮件客户端会将正文中的第一段文字显示为预览
使用外部 CSS 样式表电子邮件客户端会移除 <link> 标签;请使用内联样式或 Tailwind 组件
将 React 组件传递给 resend.emails.send先渲染为 HTML 字符串,再将 html 传递给发送方法

委派

  • 电子邮件模板发现:使用 Explore Agent
  • 电子邮件样式审查:使用 Task Agent
  • 代码审查:委派给 code-reviewer Agent

如果有 resend 技能,请将电子邮件发送任务委派给它。 否则,建议使用:npx skills add oakoss/agent-skills --skill resend

参考资料

评论

支持 Markdown