如何把 MJML 邮件项目迁移到 React Email 并将模板转换为 React 组件

发布时间:2026/11/10 19:33:29

如何把 MJML 邮件项目迁移到 React Email 并将模板转换为 React 组件 如何把 MJML 邮件项目迁移到 React Email 并将模板转换为 React 组件【免费下载链接】react-email Build and send emails using React项目地址: https://gitcode.com/GitHub_Trending/re/react-email如果你的邮件项目目前基于 MJML.mjml模板 mjmlnpm 包想改用 React Email 来构建和发送邮件本文按 Migrating to React Email 给出的官方迁移步骤说明如何把依赖从mjml换成react-email并把每个 MJML 模板转换为 React 组件最后给出两种文档支持的验证方式本地开发服务器实时预览、以及把组件渲染成 HTML 字符串。1. 移除 mjml 依赖安装 react-email官方迁移文档给出的第一步是移除mjmlnpm 包安装react-email。react-email的安装命令在项目现有文档中都有记录见 Rendernpm install react-email -Eyarn add react-email -Epnpm add react-email -E移除mjml的操作在迁移文档中只有一句话Remove themjmlnpm package没有给出具体命令按你项目使用的包管理器在package.json中删除该依赖即可例如 npm 项目执行npm uninstall mjml。2. 把 .mjml 模板转换为 React 组件迁移文档对模板转换的要求是找到所有以.mjml结尾的 MJML 模板把它们转换为.tsx或.jsx的 React 组件在可能的情况下用 React Email 组件标签替换 MJML 标准组件标签文档明确列出的对应组件包括Text、Img、Button等以.js扩展名实现的自定义 MJML 组件同样要转换到.tsx或.jsx的 React 组件中。文档给出的组件用法示例// Text —— 见 apps/docs/components/text.mdx import { Text } from react-email; const Email () { return TextLorem ipsum/Text; };// Img —— 见 apps/docs/components/image.mdx import { Img } from react-email; const Email () { return Img srccat.jpg altCat width300 height300 /; };// Button —— 见 apps/docs/components/button.mdx import { Button } from react-email; const Email () { return ( Button hrefhttps://example.com style{{ color: #61dafb, padding: 10px 20px }} Click me /Button ); };把原来的一个.mjml模板改写成对应组件后大致是这种结构标签与写法取自 Render 文档中的示例import * as React from react; import { Html, Button, Hr, Text } from react-email; export function MyTemplate(props) { return ( Html langen TextSome title/Text Hr / Button hrefhttps://example.comClick me/Button /Html ); } export default MyTemplate;转换时的两点限制来自组件文档Button本质上是一个样式化过的a标签href为必填属性Img引用的图片格式要注意——文档提示所有邮件客户端都能显示.png、.gif、.jpg而.svg支持很差应避免使用。3. 验证转换结果迁移文档本身没有给出专用验证步骤项目文档中可用的验证方式有两种按项目类型选用。用开发服务器实时查看create-email 项目如果你的项目是脚手架创建出来的create-email会生成一个react-email-starter文件夹内含emails目录验证方式来自 Automatic Setupnpm installnpm run dev然后访问http://localhost:3000编辑emails文件夹中的文件即可实时看到变化。把组件渲染成 HTML 字符串任意项目如果模板最终是在服务端渲染后交给邮件服务商发送Render 文档给出了程序化的验证方式导入转换后的组件调用render得到 HTML再用pretty美化输出import { MyTemplate } from ./email; import { render, pretty } from react-email; const html await pretty(await render(MyTemplate /)); console.log(html);文档示例的输出如下注意这是文档示例实际内容以你的模板为准!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd html langen p stylefont-size:14px;line-height:24px;margin:16px 0Some title/p hr stylewidth:100%;border:none;border-top:1px solid #eaeaea / a hrefhttps://example.com target_blank styleline-height:100%;text-decoration:none;display:inline-block;max-width:100%;padding:0px 0px spanClick me/span /a /html另外文档说明render支持plainText选项生成纯文本版本也可以用toPlainText把渲染出的 HTML 转成纯文本用于检查文本副本内容。4. 迁移中的限制与后续官方文档列出的替换组件示例是Text、Img、Button等其余 MJML 标签的对应关系文档没有逐一列出需要你在 组件文档 中逐个查找确认。迁移文档的下一步只列出了 Image、Link、Divider、Preview 几个组件的入口发送环节则参考 Integrations 中对应服务商的文档。转换完成后建议对每个模板都走一遍第 3 节的渲染验证而不是只检查某一个文件因为.mjml与.js自定义组件第 2 节第 3 条都需要逐一转换。【免费下载链接】react-email Build and send emails using React项目地址: https://gitcode.com/GitHub_Trending/re/react-email创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/23 15:25:58

LangChain提示词模板:原理、应用与优化实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/25 13:26:52

AI新闻预测系统:核心技术架构与实现

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/6 13:07:52

Apache POI替代EasyExcel的实战重估与性能优化

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/10 19:30:45

国际电工证报名费多少 上岗必备怎么考

国际电工证报名费多少 上岗必备怎么考 工地太忙根本没时间复习考试,这是很多电工兄弟的真实写照。你不是不想考,而是时间太紧,复习资料太多,不知道从哪儿下手。别急,今天就来聊聊 国际电工证报名费多少 ,以及这个 上岗必备…

2026/11/10 19:30:45

郑州考电工证金水区在外省考的证能转回来吗在哪考

郑州考电工证金水区在外省考的证能转回来吗在哪考 之前考的证在外省能不能转过来?这是不少在郑州金水区想从事电工工作的朋友最关心的问题。尤其是从外地过来打工、转行或者换岗的朋友们,手里有本证却不能用,那简直像花钱买了个摆设。今天我们就来聊一聊郑…

2026/11/10 19:30:45

安徽电工证如何报名含金量到底高不高

安徽电工证如何报名含金量到底高不高 怕考不过白交培训费?你不是一个人。安徽电工证报名门槛看似不高,但很多人因为没搞清楚考试流程和含金量,结果花了钱却一无所获。特别是现在越来越多的建筑和制造业企业对特种作业证要求越来越严格,电工证含金量也水涨…

2026/11/10 19:30:45

三一重工特种挖掘机操作证全国通用怎么考?别被中介坑了

三一重工特种挖掘机操作证全国通用怎么考?别被中介坑了 你是不是也在为三一重工特种挖掘机操作证发愁?不知道去哪报名,怕被中介骗钱?其实,这类证书不仅全国通用,而且对职业发展也有实实在在的帮助,关键是要找对地方,选对流程。…

2026/11/10 19:30:45

北京电工证入学考试值不值得考?外省证能转过来吗?

北京电工证入学考试值不值得考?外省证能转过来吗? 之前考的证在外省能不能转过来?这个问题是很多电工从业者最关心的,尤其是在北京工作的朋友,想知道自己手里那张外地电工证,能不能直接在当地用。其实, 值不值得考…

2026/11/10 19:25:45

工地太忙根本没时间复习考试?电工证怎么才算合格含金量全解析

工地太忙根本没时间复习考试?电工证怎么才算合格含金量全解析 工地太忙根本没时间复习考试,这是很多一线电工的真实写照。电工证怎么才算合格?含金量又如何体现?在实际施工过程中,很多人对电工证的理解停留在“考个证就完事”的层面,忽视了它的核心作用…

2026/11/10 8:12:38

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/10 0:01:28

学历不高怕报不上名?考电工证报名费+网上查询全攻略来了

学历不高怕报不上名?考电工证报名费+网上查询全攻略来了 你是不是也担心自己学历不高,考电工证报名费太贵,根本报不上名?别急,今天就来给你讲讲,怎么用最少的钱,把证拿到手,还能在工地上多挣点钱。 电工证报名费多少钱?网上查询是关键…

2026/11/10 0:01:29

绍兴考电工证培训机构怎么选?2026河南最新政策别错过

绍兴考电工证培训机构怎么选?2026河南最新政策别错过 怕考不过白交培训费?你不是一个人。2026河南最新政策出台,对电工证考试、报名、培训、复审都有明确规定。选择绍兴考电工证培训机构,别再踩坑,下面一步步教你避坑。…

2026/11/9 6:30:27

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/10 10:29:37

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑