如何用Vue.js和MJML创建响应式电子邮件(MJML,vue.js,开发技术)

时间:2024-04-30 15:50:47 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

接下来,请跟着小编一起来学习吧!

开始MJML

你可以使用npm安装MJML,以将其与Node.js或CLI结合使用:

$npminstall-gmjml

构建我们的电子邮件

首先,请创建一个名为 email.mjml 的文件,尽管你也可以选择其他任何名称。创建文件后,我们的响应式电子邮件将分为以下几部分:

  • 公司header

  • 图片header

  • Email介绍

  • 栏目部分

  • 图标

  • 社交图标

/ 栏目 /

这些部分是我们响应式电子邮件的框架。如上所示,我们的电子邮件将分为六个部分,在我们的 email.mjml 文件中:

<mjml><mj-body><!--公司Header--><mj-sectionbackground-color="#f0f0f0"></mj-section><!--图片Header--><mj-sectionbackground-color="#f0f0f0"></mj-section><!--Email介绍--><mj-sectionbackground-color="#fafafa"></mj-section><!--栏目部分--><mj-sectionbackground-color="white"></mj-section><!--图标--><mj-sectionbackground-color="#fbfbfb"></mj-section><!--社交图标--><mj-sectionbackground-color="#f0f0f0"></mj-section></mj-body></mjml>

从上面可以看到,我们正在使用两个MJML组件:mj-body 和 mj-section。mj-body 定义了我们电子邮件的起点,而 mj-section 定义了一个包含其他组件的节。

对于定义的每个部分,还定义了具有各自十六进制值的 background-color 属性。

/ 公司 Header /

我们电子邮件的此部分仅在中心横幅位置包含我们的公司/品牌名称:

<!--公司Header--><mj-sectionbackground-color="#f0f0f0"><mj-column><mj-textfont-style="bold"font-size="20px"align="center"color="#626262">CentralParkCruise</mj-text></mj-column></mj-section>

mj-column 组件是用来定义一个列。mj-text 组件用于我们的文本内容,并采取字体样式、字体大小、颜色等样式属性。

/ 图片 Header /

在本部分中,我们将有一个背景图片和一段文字,它们应代表我们的公司口号。我们还会有一个号召性用语按钮,指向一个包含更多详细信息的页面。

要添加图片标题,你必须将该部分的背景颜色替换为 background-url。与第一个标题相似,你将不得不在垂直和水平方向上居中放置文本,padding保持不变。

按钮的 href 设置按钮的位置。为了让背景在列中呈现全宽,将列宽设置为600px,width="600px"。

我们的电子邮件的这一部分将只包含我们的公司/品牌名称的中心横幅位置。

<!--ImageHeader--><mj-sectionbackground-url="https://ca-times.brightspotcdn.com/dims4/default/2af165c/2147483647/strip/true/crop/2048x1363+0+0/resize/1440x958!/quality/90/?url=https%3A%2F%2Fwww.trbimg.com%2Fimg-4f561d37%2Fturbine%2Forl-disneyfantasy720120306062055&quot;background-size=&quot;cover&quot;background-repeat=&quot;no-repeat&quot;&gt;&lt;mj-columnwidth=&quot;600px&quot;&gt;&lt;mj-textalign=&quot;center&quot;color=&quot;#fff&quot;font-size=&quot;40px&quot;font-family=&quot;HelveticaNeue&quot;&gt;ChristmasDiscount&lt;/mj-text&gt;&lt;mj-buttonbackground-color=&quot;#F63A4D&quot;href=&quot;#&quot;&gt;SeePromotions&lt;/mj-button&gt;&lt;/mj-column&gt;&lt;/mj-section&gt;

要使用图像header,我们将向 jms -section 组件添加 background-url 属性,然后使用 background-size 和 background-repeat 属性设置图像的样式。

对于我们的口号文本块,我们使用 align 属性将文本在水平和垂直方向上居中对齐。你还可以根据需要设置文本颜色,字体大小,字体系列等。

号召性用语按钮是使用 mj-button 组件实现的。background-color 属性允许我们指定按钮的背景色,然后使用 href 指定链接或页面的位置。

/ Email件介绍 /

简介文字将由标题,主体文字和号召性用语组成。

<!--Introtext--><mj-sectionbackground-color="#fafafa"><mj-columnwidth="400px"><mj-textfont-style="bold"font-size="20px"font-family="HelveticaNeue"color="#626262">UltimateChristmasExperience</mj-text><mj-textcolor="#525252">Loremipsumdolorsitamet,consecteturadipiscingelit.Proinrutrumenimegetmagnaefficitur,eusemperauguesemper.Aliquameratvolutpat.Crasidduilectus.Vestibulumsedfinibuslectus,sitametsuscipitnibh.Proinneccommodopurus.Sedegetnullaelit.Nullaaliquetmollisfaucibus.</mj-text><mj-buttonbackground-color="#F45E43"href="#">Learnmore</mj-button></mj-column></mj-section>
/ 栏目部分 /

在这封邮件的部分,我们会有两栏:一栏是描述性的图片,二栏是我们的文字块,用来补充第一部分的图片。

<!--Sideimage--><mj-sectionbackground-color="white"><!--Leftimage--><mj-column><mj-imagewidth="200px"src="https://qixn-bj.oss-cn-beijing.aliyuncs.com/seosjz/uploadfile/all/png/tsn34jaybkr.png&quot;/&gt;&lt;/mj-column&gt;&lt;!--rightparagraph--&gt;&lt;mj-column&gt;&lt;mj-textfont-style=&quot;bold&quot;font-size=&quot;20px&quot;font-family=&quot;HelveticaNeue&quot;color=&quot;#626262&quot;&gt;AmazingExperiences&lt;/mj-text&gt;&lt;mj-textcolor=&quot;#525252&quot;&gt;Loremipsumdolorsitamet,consecteturadipiscingelit.Proinrutrumenimegetmagnaefficitur,eusemperauguesemper.Aliquameratvolutpat.Crasidduilectus.Vestibulumsedfinibuslectus.&lt;/mj-text&gt;&lt;/mj-column&gt;&lt;/mj-section&gt;

左侧的第一列使用 mj-image 组件指定要使用的图像。该图像可以是本地文件,也可以是远程托管的图像(在我们的情况下是这样)。

右侧的第二列包含两个文本块,一个用于我们的标题,另一个用于主体文本。

/ 图标 /

图标部分将分为三列。你还可以添加更多内容,具体取决于你希望电子邮件的外观。

<!--Icons--><mj-sectionbackground-color="#fbfbfb"><mj-column><mj-imagewidth="100px"src="https://qixn-bj.oss-cn-beijing.aliyuncs.com/seosjz/uploadfile/all/png/211ii2xtkbe.png&quot;/&gt;&lt;/mj-column&gt;&lt;mj-column&gt;&lt;mj-imagewidth=&quot;100px&quot;src=&quot;https://qixn-bj.oss-cn-beijing.aliyuncs.com/seosjz/uploadfile/all/png/l40z1q1iaer.png&quot;/&gt;&lt;/mj-column&gt;&lt;mj-column&gt;&lt;mj-imagewidth=&quot;100px&quot;src=&quot;https://qixn-bj.oss-cn-beijing.aliyuncs.com/seosjz/uploadfile/all/png/43u2a4rctht.png&quot;/&gt;&lt;/mj-column&gt;&lt;/mj-section&gt;

每列都有其自己的 mj-image 组件,用于渲染图标图像。

/ 社交图标 /

本部分将包含指向我们的社交媒体帐户的图标。

<mj-sectionbackground-color="#e7e7e7"><mj-column><mj-social><mj-social-elementname="instagram"/></mj-social></mj-column></mj-section>

MJML带有 mj-social 组件,可轻松用于显示社交媒体图标。在我们的电子邮件中,我们使用了 Twitter mj-social-element。

全部放在一起

至此,我们已经实现了所有部分,完整的 email.mjml 应该如下所示:

<mjml><mj-body><!--CompanyHeader--><mj-sectionbackground-color="#f0f0f0"><mj-column><mj-textfont-style="bold"font-size="20px"align="center"color="#626262">CentralParkCruises</mj-text></mj-column></mj-section><!--ImageHeader--><mj-sectionbackground-url="https://ca-times.brightspotcdn.com/dims4/default/2af165c/2147483647/strip/true/crop/2048x1363+0+0/resize/1440x958!/quality/90/?url=https%3A%2F%2Fwww.trbimg.com%2Fimg-4f561d37%2Fturbine%2Forl-disneyfantasy720120306062055&quot;background-size=&quot;cover&quot;background-repeat=&quot;no-repeat&quot;&gt;&lt;mj-columnwidth=&quot;600px&quot;&gt;&lt;mj-textalign=&quot;center&quot;color=&quot;#fff&quot;font-size=&quot;40px&quot;font-family=&quot;HelveticaNeue&quot;&gt;ChristmasDiscount&lt;/mj-text&gt;&lt;mj-buttonbackground-color=&quot;#F63A4D&quot;href=&quot;#&quot;&gt;SeePromotions&lt;/mj-button&gt;&lt;/mj-column&gt;&lt;/mj-section&gt;&lt;!--EmailIntroduction--&gt;&lt;mj-sectionbackground-color=&quot;#fafafa&quot;&gt;&lt;mj-columnwidth=&quot;400px&quot;&gt;&lt;mj-textfont-style=&quot;bold&quot;font-size=&quot;20px&quot;font-family=&quot;HelveticaNeue&quot;color=&quot;#626262&quot;&gt;UltimateChristmasExperience&lt;/mj-text&gt;&lt;mj-textcolor=&quot;#525252&quot;&gt;Loremipsumdolorsitamet,consecteturadipiscingelit.Proinrutrumenimegetmagnaefficitur,eusemperauguesemper.Aliquameratvolutpat.Crasidduilectus.Vestibulumsedfinibuslectus,sitametsuscipitnibh.Proinneccommodopurus.Sedegetnullaelit.Nullaaliquetmollisfaucibus.&lt;/mj-text&gt;&lt;mj-buttonbackground-color=&quot;#F45E43&quot;href=&quot;#&quot;&gt;Learnmore&lt;/mj-button&gt;&lt;/mj-column&gt;&lt;/mj-section&gt;&lt;!--Columnssection--&gt;&lt;mj-sectionbackground-color=&quot;white&quot;&gt;&lt;!--Leftimage--&gt;&lt;mj-column&gt;&lt;mj-imagewidth=&quot;200px&quot;src=&quot;https://qixn-bj.oss-cn-beijing.aliyuncs.com/seosjz/uploadfile/all/png/tsn34jaybkr.png&quot;/&gt;&lt;/mj-column&gt;&lt;!--rightparagraph--&gt;&lt;mj-column&gt;&lt;mj-textfont-style=&quot;bold&quot;font-size=&quot;20px&quot;font-family=&quot;HelveticaNeue&quot;color=&quot;#626262&quot;&gt;AmazingExperiences&lt;/mj-text&gt;&lt;mj-textcolor=&quot;#525252&quot;&gt;Loremipsumdolorsitamet,consecteturadipiscingelit.Proinrutrumenimegetmagnaefficitur,eusemperauguesemper.Aliquameratvolutpat.Crasidduilectus.Vestibulumsedfinibuslectus.&lt;/mj-text&gt;&lt;/mj-column&gt;&lt;/mj-section&gt;&lt;!--Icons--&gt;&lt;mj-sectionbackground-color=&quot;#fbfbfb&quot;&gt;&lt;mj-column&gt;&lt;mj-imagewidth=&quot;100px&quot;src=&quot;https://qixn-bj.oss-cn-beijing.aliyuncs.com/seosjz/uploadfile/all/png/211ii2xtkbe.png&quot;/&gt;&lt;/mj-column&gt;&lt;mj-column&gt;&lt;mj-imagewidth=&quot;100px&quot;src=&quot;https://qixn-bj.oss-cn-beijing.aliyuncs.com/seosjz/uploadfile/all/png/l40z1q1iaer.png&quot;/&gt;&lt;/mj-column&gt;&lt;mj-column&gt;&lt;mj-imagewidth=&quot;100px&quot;src=&quot;https://qixn-bj.oss-cn-beijing.aliyuncs.com/seosjz/uploadfile/all/png/43u2a4rctht.png&quot;/&gt;&lt;/mj-column&gt;&lt;/mj-section&gt;&lt;!--Socialicons--&gt;&lt;mj-sectionbackground-color=&quot;#e7e7e7&quot;&gt;&lt;mj-column&gt;&lt;mj-social&gt;&lt;mj-social-elementname=&quot;instagram&quot;/&gt;&lt;/mj-social&gt;&lt;/mj-column&gt;&lt;/mj-section&gt;&lt;/mj-body&gt;&lt;/mjml&gt;

运行我们的应用程序

现在我们已经完成了电子邮件的构建,我们可以继续对其进行编译以查看其外观。为此,我们在终端中键入以下内容:

mjml-remail.mjml-o.
  • -r:允许MJML读取和编译我们的 mjml 文件

  • -o .:告诉MJML将编译后的 mjml 输出保存到同一目录中

MJML完成编译后,你现在应该在同一目录中看到一个 email.html 文件。

若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

本文:如何用Vue.js和MJML创建响应式电子邮件的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:vue下使用axios发送ajax请求的方法是什么下一篇:

44 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18