溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

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

發(fā)布時間:2021-07-09 17:40:18 來源:億速云 閱讀:145 作者:chen 欄目:web開發(fā)

本篇內(nèi)容介紹了“如何使用Vue.js和MJML創(chuàng)建響應(yīng)式電子郵件”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

開始MJML

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

$ npm install -g mjml

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

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

  • 公司header

  • 圖片header

  • Email介紹

  • 欄目部分

  • 圖標(biāo)

  • 社交圖標(biāo)

/ 欄目 /

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

<mjml>   <mj-body>     <!-- 公司 Header -->     <mj-section background-color="#f0f0f0"></mj-section>     <!-- 圖片 Header -->     <mj-section background-color="#f0f0f0"></mj-section>     <!-- Email 介紹 -->     <mj-section background-color="#fafafa"></mj-section>     <!-- 欄目部分 -->     <mj-section background-color="white"></mj-section>     <!-- 圖標(biāo) -->     <mj-section background-color="#fbfbfb"></mj-section>     <!-- 社交圖標(biāo) -->     <mj-section background-color="#f0f0f0"></mj-section>   </mj-body> </mjml>

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

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

/ 公司 Header /

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

<!-- 公司 Header --> <mj-section background-color="#f0f0f0">   <mj-column>     <mj-text  font-style="bold"         font-size="20px"         align="center"         color="#626262">     Central Park Cruise     </mj-text>   </mj-column> </mj-section>

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

/ 圖片 Header /

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

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

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

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

<!-- Image Header --> <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"             background-size="cover"             background-repeat="no-repeat">   <mj-column width="600px">     <mj-text  align="center"              color="#fff"              font-size="40px"              font-family="Helvetica Neue">Christmas Discount</mj-text>     <mj-button background-color="#F63A4D" href="#">       See Promotions     </mj-button>   </mj-column> </mj-section>

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

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

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

/ Email件介紹 /

簡介文字將由標(biāo)題,主體文字和號召性用語組成。

<!-- Intro text --> <mj-section background-color="#fafafa">   <mj-column width="400px">     <mj-text font-style="bold"              font-size="20px"              font-family="Helvetica Neue"              color="#626262">Ultimate Christmas Experience</mj-text>     <mj-text color="#525252">       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.     </mj-text>     <mj-button background-color="#F45E43" href="#">Learn more</mj-button>   </mj-column> </mj-section>
/ 欄目部分 /

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

<!-- Side image --> <mj-section background-color="white">   <!-- Left image -->   <mj-column>     <mj-image width="200px"               src="https://navis-consulting.com/wp-content/uploads/2019/09/Cruise1-1.png"/>   </mj-column>   <!-- right paragraph -->   <mj-column>     <mj-text font-style="bold"              font-size="20px"              font-family="Helvetica Neue"              color="#626262">       Amazing Experiences     </mj-text>     <mj-text color="#525252">       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.     </mj-text>   </mj-column> </mj-section>

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

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

/ 圖標(biāo) /

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

<!-- Icons --> <mj-section background-color="#fbfbfb">   <mj-column>     <mj-image width="100px" src="https://191n.mj.am/img/191n/3s/x0l.png" />   </mj-column>   <mj-column>     <mj-image width="100px" src="https://191n.mj.am/img/191n/3s/x01.png" />   </mj-column>   <mj-column>     <mj-image width="100px" src="https://191n.mj.am/img/191n/3s/x0s.png" />   </mj-column> </mj-section>

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

/ 社交圖標(biāo) /

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

<mj-section background-color="#e7e7e7">   <mj-column>     <mj-social>       <mj-social-element name="instagram" />     </mj-social>   </mj-column> </mj-section>

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

全部放在一起

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

<mjml>   <mj-body>     <!-- Company Header -->     <mj-section background-color="#f0f0f0">       <mj-column>         <mj-text  font-style="bold"                  font-size="20px"                  align="center"                  color="#626262">           Central Park Cruises         </mj-text>       </mj-column>     </mj-section>     <!-- Image Header -->     <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"                 background-size="cover"                 background-repeat="no-repeat">       <mj-column width="600px">         <mj-text  align="center"                  color="#fff"                  font-size="40px"                  font-family="Helvetica Neue">Christmas Discount</mj-text>         <mj-button background-color="#F63A4D" href="#">           See Promotions         </mj-button>       </mj-column>     </mj-section>     <!-- Email Introduction -->     <mj-section background-color="#fafafa">       <mj-column width="400px">         <mj-text font-style="bold"                  font-size="20px"                  font-family="Helvetica Neue"                  color="#626262">Ultimate Christmas Experience</mj-text>         <mj-text color="#525252">           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.         </mj-text>         <mj-button background-color="#F45E43" href="#">Learn more</mj-button>       </mj-column>     </mj-section>     <!-- Columns section -->     <mj-section background-color="white">       <!-- Left image -->       <mj-column>         <mj-image width="200px"                   src="https://navis-consulting.com/wp-content/uploads/2019/09/Cruise1-1.png"/>       </mj-column>       <!-- right paragraph -->       <mj-column>         <mj-text font-style="bold"                  font-size="20px"                  font-family="Helvetica Neue"                  color="#626262">           Amazing Experiences         </mj-text>         <mj-text color="#525252">           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.         </mj-text>       </mj-column>     </mj-section>     <!-- Icons -->     <mj-section background-color="#fbfbfb">       <mj-column>         <mj-image width="100px" src="https://191n.mj.am/img/191n/3s/x0l.png" />       </mj-column>       <mj-column>         <mj-image width="100px" src="https://191n.mj.am/img/191n/3s/x01.png" />       </mj-column>       <mj-column>         <mj-image width="100px" src="https://191n.mj.am/img/191n/3s/x0s.png" />       </mj-column>     </mj-section>     <!-- Social icons -->     <mj-section background-color="#e7e7e7">       <mj-column>         <mj-social>           <mj-social-element name="instagram" />         </mj-social>       </mj-column>     </mj-section>   </mj-body> </mjml>

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

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

mjml -r email.mjml -o .
  • -r:允許MJML讀取和編譯我們的 mjml 文件

  • -o .:告訴MJML將編譯后的 mjml 輸出保存到同一目錄中

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

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

總結(jié)

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

“如何使用Vue.js和MJML創(chuàng)建響應(yīng)式電子郵件”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI