一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務(wù)器之家 - 編程語(yǔ)言 - JavaScript - 使用Vue.js和MJML創(chuàng)建響應(yīng)式電子郵件

使用Vue.js和MJML創(chuàng)建響應(yīng)式電子郵件

2021-04-14 23:29杭州程序員小張 JavaScript

在本教程中,我們將使用Vue.js和MJML構(gòu)建漂亮的響應(yīng)式郵件,并在多個(gè)郵件客戶(hù)端上進(jìn)行測(cè)試。

MJML是一種現(xiàn)代的電子郵件工具,使開(kāi)發(fā)人員可以在所有設(shè)備和郵件客戶(hù)端上創(chuàng)建美觀、響應(yīng)迅速的出色電子郵件。這種標(biāo)記語(yǔ)言是為了減少編寫(xiě)響應(yīng)式電子郵件的痛苦而設(shè)計(jì)的。

它的語(yǔ)義語(yǔ)法使其易于使用。它還具有功能豐富的標(biāo)準(zhǔn)組件,可縮短開(kāi)發(fā)時(shí)間。在本教程中,我們將使用MJML構(gòu)建漂亮的響應(yīng)式郵件,并在多個(gè)郵件客戶(hù)端上進(jìn)行測(cè)試。

使用Vue.js和MJML創(chuàng)建響應(yīng)式電子郵件

開(kāi)始MJML

 

你可以使用npm安裝MJML,以將其與Node.js或CLI結(jié)合使用:

  1. $ npm install -g mjml 

構(gòu)建我們的電子郵件

 

首先,請(qǐng)創(chuàng)建一個(gè)名為 email.mjml 的文件,盡管你也可以選擇其他任何名稱(chēng)。創(chuàng)建文件后,我們的響應(yīng)式電子郵件將分為以下幾部分:

  • 公司header
  • 圖片header
  • Email介紹
  • 欄目部分
  • 圖標(biāo)
  • 社交圖標(biāo)

/ 欄目 /

這些部分是我們響應(yīng)式電子郵件的框架。如上所示,我們的電子郵件將分為六個(gè)部分,在我們的 email.mjml 文件中:

  1. <mjml> 
  2.   <mj-body> 
  3.     <!-- 公司 Header --> 
  4.     <mj-section background-color="#f0f0f0"></mj-section> 
  5.     <!-- 圖片 Header --> 
  6.     <mj-section background-color="#f0f0f0"></mj-section> 
  7.     <!-- Email 介紹 --> 
  8.     <mj-section background-color="#fafafa"></mj-section> 
  9.     <!-- 欄目部分 --> 
  10.     <mj-section background-color="white"></mj-section> 
  11.     <!-- 圖標(biāo) --> 
  12.     <mj-section background-color="#fbfbfb"></mj-section> 
  13.     <!-- 社交圖標(biāo) --> 
  14.     <mj-section background-color="#f0f0f0"></mj-section> 
  15.   </mj-body> 
  16. </mjml> 

 

從上面可以看到,我們正在使用兩個(gè)MJML組件:mj-body 和 mj-section。mj-body 定義了我們電子郵件的起點(diǎn),而 mj-section 定義了一個(gè)包含其他組件的節(jié)。

 

對(duì)于定義的每個(gè)部分,還定義了具有各自十六進(jìn)制值的 background-color 屬性。

/ 公司 Header /

我們電子郵件的此部分僅在中心橫幅位置包含我們的公司/品牌名稱(chēng):

  1. <!-- 公司 Header --> 
  2. <mj-section background-color="#f0f0f0"> 
  3.   <mj-column> 
  4.     <mj-text  font-style="bold" 
  5.         font-size="20px" 
  6.         align="center" 
  7.         color="#626262"> 
  8.     Central Park Cruise 
  9.     </mj-text> 
  10.   </mj-column> 
  11. </mj-section> 

mj-column 組件是用來(lái)定義一個(gè)列。mj-text 組件用于我們的文本內(nèi)容,并采取字體樣式、字體大小、顏色等樣式屬性。

/ 圖片 Header /

在本部分中,我們將有一個(gè)背景圖片和一段文字,它們應(yīng)代表我們的公司口號(hào)。我們還會(huì)有一個(gè)號(hào)召性用語(yǔ)按鈕,指向一個(gè)包含更多詳細(xì)信息的頁(yè)面。

要添加圖片標(biāo)題,你必須將該部分的背景顏色替換為 background-url。與第一個(gè)標(biāo)題相似,你將不得不在垂直和水平方向上居中放置文本,padding保持不變。

按鈕的 href 設(shè)置按鈕的位置。為了讓背景在列中呈現(xiàn)全寬,將列寬設(shè)置為600px,width="600px"。

我們的電子郵件的這一部分將只包含我們的公司/品牌名稱(chēng)的中心橫幅位置。

  1. <!-- Image Header --> 
  2. <mj-section background-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" 
  3.             background-size="cover" 
  4.             background-repeat="no-repeat"> 
  5.   <mj-column width="600px"> 
  6.     <mj-text  align="center" 
  7.              color="#fff" 
  8.              font-size="40px" 
  9.              font-family="Helvetica Neue">Christmas Discount</mj-text> 
  10.     <mj-button background-color="#F63A4D" href="#"> 
  11.       See Promotions 
  12.     </mj-button> 
  13.   </mj-column> 
  14. </mj-section> 

要使用圖像header,我們將向 jms -section 組件添加 background-url 屬性,然后使用 background-size 和 background-repeat 屬性設(shè)置圖像的樣式。

對(duì)于我們的口號(hào)文本塊,我們使用 align 屬性將文本在水平和垂直方向上居中對(duì)齊。你還可以根據(jù)需要設(shè)置文本顏色,字體大小,字體系列等。

號(hào)召性用語(yǔ)按鈕是使用 mj-button 組件實(shí)現(xiàn)的。background-color 屬性允許我們指定按鈕的背景色,然后使用 href 指定鏈接或頁(yè)面的位置。

/ Email件介紹 /

簡(jiǎn)介文字將由標(biāo)題,主體文字和號(hào)召性用語(yǔ)組成。

  1. <!-- Intro text --> 
  2. <mj-section background-color="#fafafa"> 
  3.   <mj-column width="400px"> 
  4.     <mj-text font-style="bold" 
  5.              font-size="20px" 
  6.              font-family="Helvetica Neue" 
  7.              color="#626262">Ultimate Christmas Experience</mj-text> 
  8.     <mj-text color="#525252"> 
  9.       Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin rutrum enim eget magna efficitur, eu semper augue semper. Aliquam erat volutpat. Cras id dui lectus. Vestibulum sed finibus lectus, sit amet suscipit nibh. Proin nec commodo purus. Sed eget nulla elit. Nulla aliquet mollis faucibus. 
  10.     </mj-text> 
  11.     <mj-button background-color="#F45E43" href="#">Learn more</mj-button> 
  12.   </mj-column> 
  13. </mj-section> 

/ 欄目部分 /

在這封郵件的部分,我們會(huì)有兩欄:一欄是描述性的圖片,二欄是我們的文字塊,用來(lái)補(bǔ)充第一部分的圖片。

  1. <!-- Side image --> 
  2. <mj-section background-color="white"> 
  3.   <!-- Left image --> 
  4.   <mj-column> 
  5.     <mj-image width="200px" 
  6.               src="https://navis-consulting.com/wp-content/uploads/2019/09/Cruise1-1.png"/> 
  7.   </mj-column> 
  8.   <!-- right paragraph --> 
  9.   <mj-column> 
  10.     <mj-text font-style="bold" 
  11.              font-size="20px" 
  12.              font-family="Helvetica Neue" 
  13.              color="#626262"> 
  14.       Amazing Experiences 
  15.     </mj-text> 
  16.     <mj-text color="#525252"> 
  17.       Lorem ipsum dolor sit amet, consectetur adipiscing elit.  
  18.       Proin rutrum enim eget magna efficitur, eu semper augue semper.  
  19.       Aliquam erat volutpat. Cras id dui lectus. Vestibulum sed finibus  
  20.       lectus. 
  21.     </mj-text> 
  22.   </mj-column> 
  23. </mj-section> 

左側(cè)的第一列使用 mj-image 組件指定要使用的圖像。該圖像可以是本地文件,也可以是遠(yuǎn)程托管的圖像(在我們的情況下是這樣)。

右側(cè)的第二列包含兩個(gè)文本塊,一個(gè)用于我們的標(biāo)題,另一個(gè)用于主體文本。

/ 圖標(biāo) /

圖標(biāo)部分將分為三列。你還可以添加更多內(nèi)容,具體取決于你希望電子郵件的外觀。

  1. <!-- Icons --> 
  2. <mj-section background-color="#fbfbfb"> 
  3.   <mj-column> 
  4.     <mj-image width="100px" src="/uploads/allimg/210414/23302a4M-1.png" /> 
  5.   </mj-column> 
  6.   <mj-column> 
  7.     <mj-image width="100px" src="https://191n.mj.am/img/191n/3s/x01.png" /> 
  8.   </mj-column> 
  9.   <mj-column> 
  10.     <mj-image width="100px" src="https://191n.mj.am/img/191n/3s/x0s.png" /> 
  11.   </mj-column> 
  12. </mj-section> 

 

每列都有其自己的 mj-image 組件,用于渲染圖標(biāo)圖像。

 

/ 社交圖標(biāo) /

本部分將包含指向我們的社交媒體帳戶(hù)的圖標(biāo)。

  1. <mj-section background-color="#e7e7e7"> 
  2.   <mj-column> 
  3.     <mj-social> 
  4.       <mj-social-element name="instagram" /> 
  5.     </mj-social> 
  6.   </mj-column> 
  7. </mj-section> 

MJML帶有 mj-social 組件,可輕松用于顯示社交媒體圖標(biāo)。在我們的電子郵件中,我們使用了 Twitter mj-social-element。

全部放在一起

 

至此,我們已經(jīng)實(shí)現(xiàn)了所有部分,完整的 email.mjml 應(yīng)該如下所示:

  1. <mjml> 
  2.   <mj-body> 
  3.     <!-- Company Header --> 
  4.     <mj-section background-color="#f0f0f0"> 
  5.       <mj-column> 
  6.         <mj-text  font-style="bold" 
  7.                  font-size="20px" 
  8.                  align="center" 
  9.                  color="#626262"> 
  10.           Central Park Cruises 
  11.         </mj-text> 
  12.       </mj-column> 
  13.     </mj-section> 
  14.     <!-- Image Header --> 
  15.     <mj-section background-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" 
  16.                 background-size="cover" 
  17.                 background-repeat="no-repeat"> 
  18.       <mj-column width="600px"> 
  19.         <mj-text  align="center" 
  20.                  color="#fff" 
  21.                  font-size="40px" 
  22.                  font-family="Helvetica Neue">Christmas Discount</mj-text> 
  23.         <mj-button background-color="#F63A4D" href="#"> 
  24.           See Promotions 
  25.         </mj-button> 
  26.       </mj-column> 
  27.     </mj-section> 
  28.     <!-- Email Introduction --> 
  29.     <mj-section background-color="#fafafa"> 
  30.       <mj-column width="400px"> 
  31.         <mj-text font-style="bold" 
  32.                  font-size="20px" 
  33.                  font-family="Helvetica Neue" 
  34.                  color="#626262">Ultimate Christmas Experience</mj-text> 
  35.         <mj-text color="#525252"> 
  36.           Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin rutrum enim eget magna efficitur, eu semper augue semper. Aliquam erat volutpat. Cras id dui lectus. Vestibulum sed finibus lectus, sit amet suscipit nibh. Proin nec commodo purus. Sed eget nulla elit. Nulla aliquet mollis faucibus. 
  37.         </mj-text> 
  38.         <mj-button background-color="#F45E43" href="#">Learn more</mj-button> 
  39.       </mj-column> 
  40.     </mj-section> 
  41.     <!-- Columns section --> 
  42.     <mj-section background-color="white"> 
  43.       <!-- Left image --> 
  44.       <mj-column> 
  45.         <mj-image width="200px" 
  46.                   src="https://navis-consulting.com/wp-content/uploads/2019/09/Cruise1-1.png"/> 
  47.       </mj-column> 
  48.       <!-- right paragraph --> 
  49.       <mj-column> 
  50.         <mj-text font-style="bold" 
  51.                  font-size="20px" 
  52.                  font-family="Helvetica Neue" 
  53.                  color="#626262"> 
  54.           Amazing Experiences 
  55.         </mj-text> 
  56.         <mj-text color="#525252"> 
  57.           Lorem ipsum dolor sit amet, consectetur adipiscing elit.  
  58.           Proin rutrum enim eget magna efficitur, eu semper augue semper.  
  59.           Aliquam erat volutpat. Cras id dui lectus. Vestibulum sed finibus  
  60.           lectus. 
  61.         </mj-text> 
  62.       </mj-column> 
  63.     </mj-section> 
  64.     <!-- Icons --> 
  65.     <mj-section background-color="#fbfbfb"> 
  66.       <mj-column> 
  67.         <mj-image width="100px" src="/uploads/allimg/210414/23302a4M-1.png" /> 
  68.       </mj-column> 
  69.       <mj-column> 
  70.         <mj-image width="100px" src="https://191n.mj.am/img/191n/3s/x01.png" /> 
  71.       </mj-column> 
  72.       <mj-column> 
  73.         <mj-image width="100px" src="https://191n.mj.am/img/191n/3s/x0s.png" /> 
  74.       </mj-column> 
  75.     </mj-section> 
  76.     <!-- Social icons --> 
  77.     <mj-section background-color="#e7e7e7"> 
  78.       <mj-column> 
  79.         <mj-social> 
  80.           <mj-social-element name="instagram" /> 
  81.         </mj-social> 
  82.       </mj-column> 
  83.     </mj-section> 
  84.   </mj-body> 
  85. </mjml> 

運(yùn)行我們的應(yīng)用程序

 

現(xiàn)在我們已經(jīng)完成了電子郵件的構(gòu)建,我們可以繼續(xù)對(duì)其進(jìn)行編譯以查看其外觀。為此,我們?cè)诮K端中鍵入以下內(nèi)容:

  1. mjml -r email.mjml -o . 
  • -r:允許MJML讀取和編譯我們的 mjml 文件
  • -o .:告訴MJML將編譯后的 mjml 輸出保存到同一目錄中

MJML完成編譯后,你現(xiàn)在應(yīng)該在同一目錄中看到一個(gè) email.html 文件。 使用你喜歡的電子郵件客戶(hù)端或?yàn)g覽器打開(kāi)它,它的外觀應(yīng)類(lèi)似于下圖:

使用Vue.js和MJML創(chuàng)建響應(yīng)式電子郵件

總結(jié)

 

正如我們剛才看到的,MJML幫助我們生成跨多個(gè)瀏覽器和客戶(hù)機(jī)響應(yīng)的高質(zhì)量、漂亮的HTML電子郵件。

原文地址:https://www.toutiao.com/i6950618188585599492/

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲美洲国产日产 | 95视频在线观看在线分类h片 | 人人爽人人香蕉 | 日本大乳护士的引诱图片 | 美女逼逼喷水 | 王小军怎么了最新消息 | 天天爱天天操天天射 | 肥奶丰熟肥妇 | 91人人在线 | 搡60一70岁的老女人小说 | 别停好爽好深好大好舒服视频 | 2021日本三级理论影院 | 青草国产在线观看 | a级亚洲片精品久久久久久久 | 欧美人成绝费网站色www吃脚 | 九九热只有精品 | 国产短视频精品一区二区三区 | 我与岳乱短篇小说 | 国产网站免费看 | 大学生特黄特色大片免费播放 | 欧美国产合集在线视频 | zol中关村在线 | 精品在线免费观看 | 97色伦图片7778久久 | 九九精品国产 | 秋霞在线一级 | 公园吃女人奶野战视频 | 闺蜜的样子小说安沁在线阅读 | 奇米影视亚洲狠狠色 | 好大好粗好爽 | 奶茶视频有容乃大 | 午夜福利试看120秒体验区 | 调教老师肉色丝袜的故事 | 久久黄色录像 | 99久久精品无码一区二区毛片 | 国产精品福利一区二区亚瑟 | 精品国产欧美一区二区五十路 | 欧美日韩一区二区综合 | 色综合天天综合网看在线影院 | 日韩精品一区二三区中文 | 欧美同性video|