发布于 2026-01-06 5 阅读
0

使用 mjml 在 Node js 中创建传奇电子邮件 📩 由 Mux 呈现的 DEV 全球展示挑战赛:展示你的项目!

使用 mjml 在 Node.js 中创建传奇电子邮件 📩

由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!

有时我会收到一些公司和初创企业的邮件,看起来非常吸引人,也很贴近受众。😶‍🌫️

他们的邮件中使用了独特的字体,并搭配图片和按钮。最引人注目的是他们的邮件格式具有响应式设计,能够很好地适应不同的设备。

看到这些邮件后,我决定也给正在开发的商店项目的用户发送类似的邮件😎

如果您有兴趣,可以点击以下链接查看:
https://github.com/Silent-Watcher/express-shop

总之,我偶然发现了一个名为MJML 的工具,可以用来实现这个功能。

正如其文档中所述

MJML 是一种标记语言,旨在减少编写响应式电子邮件的难度

作为开发人员,我们不必参与复杂的响应式电子邮件设计,但如果您愿意,可以花些时间学习语法。

对于 Node.js 开发者来说是个好消息:MJML 是用 Node.js 编写的。不过,如果您使用其他语言(例如 Python),也可以使用 MJML API。

更多信息,请参阅Medium 网站上的这篇文章。

首先,我们需要安装两个软件包:eta 和 mjml。

bun add eta@latest mjml@latest
Enter fullscreen mode Exit fullscreen mode

之后,我创建了一个名为 mail.tpl.js 的文件,其中初始化了 MJML 和 ETA 以创建我们的电子邮件模板。

mjml

我使用的模板是 MJML 文档中的 Hello World 模板,它看起来大概是这样的:

mjml 电子邮件预览

在以 HTML 格式访问您的电子邮件模板后,如果您使用 * Nodemailer*发送电子邮件,则可以创建一个“sendmail”函数,以便在项目后续阶段使用。

为了实现这一点,我创建了一个名为“mailer.js”的文件,并初始化了Nodemailer包:

Nodemailer

现在,您可以在任何需要发送电子邮件的地方使用此功能。要定义您的模板,只需在第一个参数中使用“html”选项即可。

使用 Node.js 发送邮件

差不多就是这样了。告诉我你的想法吧。🤗

文章来源:https://dev.to/silentwatcher_95/legendary-emails-in-node-js-with-mjml-4gp9