国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
HTML電子郵件開發(fā)的最佳實踐是什么?
我如何學(xué)習(xí)HTML電子郵件開發(fā)?
我需要哪些HTML電子郵件開發(fā)工具?
如何使我的HTML電子郵件具有響應(yīng)性?
HTML電子郵件開發(fā)中的一些常見挑戰(zhàn)是什么?
如何測試我的HTML電子郵件?
如何在HTML電子郵件開發(fā)中使用表格?
如何在HTML電子郵件開發(fā)中使用內(nèi)聯(lián)CSS?
如何在我的HTML電子郵件中包含圖像?
如何創(chuàng)建HTML電子郵件的純文本版本?
首頁 web前端 css教程 我當(dāng)前的HTML電子郵件開發(fā)工作流程

我當(dāng)前的HTML電子郵件開發(fā)工作流程

Feb 23, 2025 am 09:18 AM

HTML電子郵件開發(fā)工作流程:提高效率的實用指南

每個網(wǎng)頁開發(fā)者都有自己獨特的工作方式:偏愛的編輯器、輔助工具、個人項目流程等等。對于大型或復(fù)雜的項目,清晰的開發(fā)路徑至關(guān)重要,它能節(jié)省時間并最大限度地減少錯誤。

在我的經(jīng)驗中,這在HTML電子郵件項目中尤其重要。電子郵件需要許多重復(fù)性任務(wù),這些任務(wù)本身并不特別復(fù)雜(至少并非總是如此),但由于需要檢查的大量元素和任務(wù),可能會變得棘手。

在這里,我將嘗試解釋我個人的HTML電子郵件開發(fā)工作流程。我希望您可以從中挑選出您喜歡的部分。

關(guān)鍵要點

  • 作者強調(diào)在HTML電子郵件項目中清晰的開發(fā)路徑的重要性,以節(jié)省時間并最大限度地減少因大量重復(fù)性任務(wù)而造成的錯誤。
  • 使用預(yù)處理器,例如Jade用于HTML和Less用于CSS,可以通過減少冗長代碼的需求來簡化開發(fā)過程,尤其是在嵌套表格方面。建議使用CodeKit和Coda等工具來編譯文件并實時預(yù)覽工作。
  • 建議使用Gulp Email Builder包來自動執(zhí)行工作流程的最后幾個步驟,包括內(nèi)聯(lián)或嵌入CSS文件、使用Litmus API進(jìn)行測試以及發(fā)送額外的測試電子郵件。
  • 良好的HTML電子郵件開發(fā)工作流程可以顯著提高生產(chǎn)力。作者的工作流程包括本地測試創(chuàng)作、CSS內(nèi)聯(lián)和使用Gulp Email Builder進(jìn)行自動化測試。鼓勵根據(jù)個人喜好和需求定制這些步驟。

典型的電子郵件開發(fā)工作流程

經(jīng)典的電子郵件開發(fā)工作流程包含三個主要步驟:

  • 創(chuàng)作(進(jìn)行初步的本地測試)
  • CSS內(nèi)聯(lián)
  • 測試

My Current HTML Email Development Workflow

最終測試(使用內(nèi)聯(lián)CSS)是最耗時的步驟,因為我們可能需要多次重復(fù)它?!癈SS內(nèi)聯(lián)”和“測試”任務(wù)需要額外的工作和關(guān)注:首先,您必須注意將原始工作副本與內(nèi)聯(lián)副本區(qū)分開來。此外,最終測試需要您將內(nèi)聯(lián)HTML發(fā)送到各種帳戶,以針對各種電子郵件客戶端檢查您的設(shè)計。

通過電子郵件發(fā)送代碼有點棘手,因為大多數(shù)客戶端不允許您通過將HTML代碼粘貼到正文中來撰寫電子郵件(我所知道的唯一一個是Thunderbird)。但是每次測試都需要許多操作來撰寫郵件、內(nèi)聯(lián)CSS、粘貼代碼等。

My Current HTML Email Development Workflow

如果您有測試平臺帳戶(Litmus、Email On Acid、Campaign Monitor或其他),您可以通過將內(nèi)聯(lián)代碼提交到測試平臺來簡化最終測試任務(wù),但是為了進(jìn)行更準(zhǔn)確的測試,您仍然需要通過郵件發(fā)送代碼。過去,我使用了一個小的PHP腳本發(fā)送測試電子郵件,這可以節(jié)省一些時間,但仍然需要重復(fù)某些任務(wù)。

回到CSS,您可能需要處理兩個文件:一個用于內(nèi)聯(lián),一個用于嵌入(對于支持媒體查詢的客戶端)。

您必須將CSS直接編輯到HTML文件中,然后啟動內(nèi)聯(lián)工具(例如Mailchimp內(nèi)聯(lián)工具),最后將第二個CSS嵌入到內(nèi)聯(lián)文件中(光是寫出來就覺得很煩人!)

我們現(xiàn)在可以更詳細(xì)地回顧我們的工作流程方案:

My Current HTML Email Development Workflow

為了獲得真正高效的工作流程,許多問題仍未解決,重復(fù)性步驟明顯多于創(chuàng)造性步驟,這很少能帶來好的結(jié)果。

幸運的是,我們?nèi)匀挥幸恍┓椒梢允褂茫侯A(yù)處理器和任務(wù)運行器。

添加HTML和CSS預(yù)處理器

當(dāng)我開始使用預(yù)處理器時,我立即意識到它們對電子郵件開發(fā)有多么有用。對于HTML和CSS,預(yù)處理器都可以輕松簡化對冗長代碼的需求(尤其對于HTML)。

我主要使用Jade進(jìn)行HTML和Less進(jìn)行CSS,但您可以選擇自己喜歡的技術(shù)。在處理重復(fù)且混亂的代碼(如嵌套表格)時,Jade非常有用。請查看以下三層嵌套表格示例。

<table> width="100%" id="wrapper">
  <tbody>>
    <tr>>
      <td> width="100%">
        <table> align="center" class="header">
          <tbody>>
            <tr>>
              <td> width="100%">
                <table> width="100%">
                  <tbody>>
                    <tr>>
                      <td>>cell 1</td>>
                      <td>>cell 2</td>>
                      <td>>cell 3</td>>
                    </tr>>
                  </tbody>>
                </table>>
              </td>>
            </tr>>
          </tbody>>
        </table>>
      </td>>
    </tr>>
  </tbody>>
</table>>

產(chǎn)生相同代碼的Jade代碼如下:

table(width="100%" )
  tbody
    tr
      td(width="100%")
        table( align="center")
          tbody
            tr
              td(width="100%")
                table(width="100%")
                  tbody
                    tr
                      td cell 1
                      td cell 2
                      td cell 3

如您所見,不再存在未關(guān)閉標(biāo)簽的問題,代碼易于閱讀。

使用Jade,您可以創(chuàng)建復(fù)雜的模板并構(gòu)建自己的代碼片段庫,在更多項目中重用代碼。對于Less或Sass,您也可以這樣做。

您可以使用Gulp或Grunt編譯文件,但是為了快速預(yù)覽您的工作,我發(fā)現(xiàn)Coda和CodeKit提供了最佳解決方案。

我們工作流程中的“本地測試”任務(wù)為我們提供了對工作的初步反饋,并且至關(guān)重要的是,它不需要執(zhí)行其他操作。

CodeKit在保存時編譯我們的Jade和Less文件,并且可以實時預(yù)覽您的項目。另一方面,Coda允許您編輯文件并在單獨的窗口中預(yù)覽自動刷新的已編譯文件:

My Current HTML Email Development Workflow

My Current HTML Email Development Workflow

所有這些步驟都是完全自動化的,您可以將工作重點放在設(shè)計上,而不是那些不太有趣、重復(fù)性的任務(wù)上。

現(xiàn)在,我們有了用于創(chuàng)作的Jade和Less文件,以及用于預(yù)覽的已編譯HTML和CSS文件。下一步是將所有內(nèi)容整合在一起進(jìn)行最終測試。

使用Gulp進(jìn)行快速測試

我研究了很多Gulp或Grunt腳本來自動化工作流程的最后幾個步驟。npm提供了許多解決方案,但最終我選擇了Gulp Email Builder包。此包是更大項目的Gulp版本,如果您愿意,它也有Grunt版本。

Email Builder允許您內(nèi)聯(lián)或嵌入CSS文件,使用Litmus API進(jìn)行測試以及發(fā)送額外的測試電子郵件。

要使用Email Builder,您當(dāng)然需要安裝Gulp。我已經(jīng)在我的文章“使用Gulp自定義Bootstrap圖標(biāo)”中對此進(jìn)行了介紹,因此您可以查看該文章以獲取幫助。此外,您可以閱讀Etienne Margraff關(guān)于Gulp和Grunt工作流程的文章。

除了Email Builder之外,我們還將使用Gulp-Replace包,因此您也需要安裝它。

與每個Gulp任務(wù)一樣,我們必須設(shè)置gulpfile.js:

<table> width="100%" id="wrapper">
  <tbody>>
    <tr>>
      <td> width="100%">
        <table> align="center" class="header">
          <tbody>>
            <tr>>
              <td> width="100%">
                <table> width="100%">
                  <tbody>>
                    <tr>>
                      <td>>cell 1</td>>
                      <td>>cell 2</td>>
                      <td>>cell 3</td>>
                    </tr>>
                  </tbody>>
                </table>>
              </td>>
            </tr>>
          </tbody>>
        </table>>
      </td>>
    </tr>>
  </tbody>>
</table>>

首先,我們包含所有需要的包并設(shè)置四個變量:

  • current_date 是一個表示當(dāng)前日期的字符串;我們將使用它來區(qū)分測試電子郵件主題行,以便更容易區(qū)分不同版本。
  • email_subject
  • remote_imgs_basepath 是包含我們圖像的遠(yuǎn)程文件夾的URL。我使用它通過為圖像設(shè)置相對路徑來執(zhí)行本地測試(這樣我可以輕松進(jìn)行所有必要的更改),但是最終測試(和發(fā)送任務(wù))要求圖像上傳到遠(yuǎn)程文件夾,因此我使用Gulp Replace將所有src屬性更改為remote_imgs_basepath
  • email_builder_options 是一個用于配置Email Builder的對象

在這個例子中,email_builder_options對象有三個元素,您可以查看email-builder-core頁面以了解所有可用選項的完整列表。

第一個元素encodeSpecialChars確保所有特殊字符都編碼為其HTML數(shù)字形式。

emailTest元素用于設(shè)置電子郵件測試。它需要一些參數(shù):

  • email:用逗號分隔的電子郵件地址,我們將測試電子郵件發(fā)送到這些地址。我為每個需要測試的電子郵件服務(wù)(Gmail、Outlook、Yahoo等)都有一個帳戶,以便快速在他們的網(wǎng)頁郵件頁面和移動應(yīng)用程序中檢查它們。
  • subject:郵件的主題(請注意,我已經(jīng)添加了current_date變量來快速識別我正在處理哪個版本)。
  • transport:發(fā)送者需要執(zhí)行此任務(wù)的參數(shù)

如果您使用Gmail作為transport參數(shù),則需要在您的Google帳戶設(shè)置中激活“允許安全性較低的應(yīng)用”,否則發(fā)送任務(wù)將失敗(最好不要為此使用您的個人帳戶):

My Current HTML Email Development Workflow

第三個參數(shù)允許您在Litmus平臺上設(shè)置測試(當(dāng)然,您需要一個Litmus帳戶)。您必須指示您的帳戶參數(shù)、可選主題(如果您多次執(zhí)行測試,它將用于分組測試)以及要測試的電子郵件客戶端列表。

要添加客戶端,您必須使用其測試應(yīng)用程序代碼。您可以從https://litmus.com/emails/clients.xml文件的application_code字段獲取此代碼(請注意,您必須登錄才能訪問此文件)。

在上面的示例中,該行

<table> width="100%" id="wrapper">
  <tbody>>
    <tr>>
      <td> width="100%">
        <table> align="center" class="header">
          <tbody>>
            <tr>>
              <td> width="100%">
                <table> width="100%">
                  <tbody>>
                    <tr>>
                      <td>>cell 1</td>>
                      <td>>cell 2</td>>
                      <td>>cell 3</td>>
                    </tr>>
                  </tbody>>
                </table>>
              </td>>
            </tr>>
          </tbody>>
        </table>>
      </td>>
    </tr>>
  </tbody>>
</table>>

告訴Litums使用Gmail App(Android)、Gmail(Explorer)和iPhone 5s(iOS7)測試我們的電子郵件。

結(jié)果可以在Litmus上查看,就像手工制作的一樣:

My Current HTML Email Development Workflow

當(dāng)然,如果您只想執(zhí)行電子郵件測試,可以從email_builder_options中刪除litmus參數(shù)。

gulpfile的最后幾行完成了所有工作:

  • 我們首先告訴Gulp使用explore_and_taste.html文件來完成我們的工作(這是CodeKit從我們的Jade文件生成的HTML,我們剛剛將其用于第一次預(yù)覽)
  • 使用replace模塊,所有本地路徑都將替換為我們之前設(shè)置的遠(yuǎn)程路徑(replace(/src="imgs//g, 'src="' remote_imgs_basepath))
  • 最后,執(zhí)行EmailBuilder任務(wù),測試發(fā)送到Litmus和電子郵件地址,并注冊ready-to-send文件。

CSS文件呢?

Email Builder真正簡化了這項任務(wù)。您只需向鏈接或樣式標(biāo)簽添加data屬性即可管理它們:

  • 沒有data屬性的鏈接或樣式標(biāo)簽將被內(nèi)聯(lián)
  • 如果它們具有data-embed屬性,則CSS規(guī)則將被嵌入
  • 最后,data-embed-ignore允許您設(shè)置一些僅用于開發(fā)目的的CSS規(guī)則(它們在處理時將被忽略)。

同樣,Coda可以簡化Gulp處理,允許您使用其內(nèi)部終端應(yīng)用程序:

My Current HTML Email Development Workflow

結(jié)論

現(xiàn)在我們可以最終重新安排我們的工作流程:

My Current HTML Email Development Workflow

您可以根據(jù)自己的需要自定義每個步驟,使用其他編輯器而不是CodeKit,使用Grunt而不是Gulp,使用Sass而不是Less等等。無論您選擇什么技術(shù),這樣的工作流程都能真正提高您的生產(chǎn)力。

如果您有自己的HTML電子郵件工作流程,以及它與本教程中介紹的工作流程有何不同,請在評論中告訴我。

關(guān)于HTML電子郵件開發(fā)的常見問題

HTML電子郵件開發(fā)的最佳實踐是什么?

HTML電子郵件開發(fā)是一個復(fù)雜的過程,需要深入了解編碼和設(shè)計原則。一些最佳實踐包括使用內(nèi)聯(lián)CSS以確保您的樣式正確應(yīng)用,使用表格進(jìn)行布局以確保與所有電子郵件客戶端兼容,以及在多個平臺和設(shè)備上測試您的電子郵件以確保它們在任何地方看起來都很好。此外,重要的是保持代碼簡潔有序,為圖像使用alt標(biāo)簽,并為無法或不想查看HTML電子郵件的用戶包含電子郵件的純文本版本。

我如何學(xué)習(xí)HTML電子郵件開發(fā)?

有很多資源可用于學(xué)習(xí)HTML電子郵件開發(fā)。Udemy和Skillshare提供的在線課程可以提供對該主題的全面介紹。此外,SitePoint和Email on Acid上的博客和文章可以提供有價值的提示和見解。實踐也很關(guān)鍵——嘗試從頭開始構(gòu)建您自己的電子郵件以了解該過程。

我需要哪些HTML電子郵件開發(fā)工具?

HTML電子郵件開發(fā)需要一個用于編寫代碼的文本編輯器、一個用于測試電子郵件的電子郵件客戶端以及可能一個用于創(chuàng)建電子郵件布局的設(shè)計工具。對于這些工具,有很多免費和付費選項可用,因此您可以選擇最適合您的需求和預(yù)算的工具。

如何使我的HTML電子郵件具有響應(yīng)性?

使您的HTML電子郵件具有響應(yīng)性包括使用媒體查詢根據(jù)查看電子郵件的設(shè)備的屏幕尺寸調(diào)整您的布局。這可能包括更改圖像的大小、調(diào)整表格的布局等等。網(wǎng)上有很多資源可以指導(dǎo)您完成這個過程。

HTML電子郵件開發(fā)中的一些常見挑戰(zhàn)是什么?

HTML電子郵件開發(fā)中的一些常見挑戰(zhàn)包括處理不同電子郵件客戶端之間的不一致性、確保您的電子郵件在各種設(shè)備上看起來都很好以及保持代碼簡潔有序。此外,在具有吸引力的設(shè)計需求與電子郵件編碼的限制之間取得平衡也可能具有挑戰(zhàn)性。

如何測試我的HTML電子郵件?

測試您的HTML電子郵件是開發(fā)過程中的一個重要部分。這可以通過將電子郵件發(fā)送給自己并在不同的設(shè)備和電子郵件客戶端上查看它來完成。還有一些在線工具可以為您模擬不同的設(shè)備和電子郵件客戶端。

如何在HTML電子郵件開發(fā)中使用表格?

表格是HTML電子郵件開發(fā)中的一個關(guān)鍵工具,因為它提供了一種創(chuàng)建與所有電子郵件客戶端兼容的布局的方法。這包括使用HTML表格標(biāo)簽為您的電子郵件創(chuàng)建一個網(wǎng)格狀結(jié)構(gòu),然后將您的內(nèi)容放在此結(jié)構(gòu)中。

如何在HTML電子郵件開發(fā)中使用內(nèi)聯(lián)CSS?

內(nèi)聯(lián)CSS包括將您的CSS樣式直接放在HTML標(biāo)簽中,而不是放在單獨的樣式表中。這在HTML電子郵件開發(fā)中很重要,因為某些電子郵件客戶端不支持外部樣式表。要使用內(nèi)聯(lián)CSS,只需在HTML標(biāo)簽的“style”屬性中包含您的樣式即可。

如何在我的HTML電子郵件中包含圖像?

可以通過使用“img”標(biāo)簽以及“src”屬性來指定圖像的URL來在HTML電子郵件中包含圖像。同樣重要的是包含一個“alt”屬性,以便為無法或不想查看圖像的用戶提供圖像的文本描述。

如何創(chuàng)建HTML電子郵件的純文本版本?

創(chuàng)建HTML電子郵件的純文本版本包括去除所有HTML標(biāo)簽并只留下文本內(nèi)容。這可以手動完成,或者有一些在線工具可以為您做到這一點。包含電子郵件的純文本版本對于可訪問性和更喜歡不查看HTML電子郵件的用戶來說非常重要。

以上是我當(dāng)前的HTML電子郵件開發(fā)工作流程的詳細(xì)內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

如何僅在某些頁面上包括CSS? 如何僅在某些頁面上包括CSS? Jun 11, 2025 am 12:01 AM

選擇性包含CSS在特定頁面上的方法有三種:1.內(nèi)聯(lián)CSS,適用于不常訪問或需要獨特樣式的頁面;2.使用JavaScript條件加載外部CSS文件,適合需要靈活性的情況;3.服務(wù)器端包含,適用于使用服務(wù)器端語言的場景。這種方法可以優(yōu)化網(wǎng)站性能和可維護(hù)性,但需平衡模塊化與性能。

Flexbox與網(wǎng)格:了解CSS布局的關(guān)鍵差異 Flexbox與網(wǎng)格:了解CSS布局的關(guān)鍵差異 Jun 10, 2025 am 12:03 AM

flexboxisidealforone-dimensionAllayouts,while gridsuitStwo,complex layouts.useflexboxforaligningItemsinasingLeaxisAndGridForRidForPreciseconcontroloverroverroverroverroverroverroverrowsandsininintricatientricatedesigns。

使用HTML彈出案創(chuàng)建自動關(guān)閉通知 使用HTML彈出案創(chuàng)建自動關(guān)閉通知 Jun 10, 2025 am 09:45 AM

HTML彈出屬性將元素轉(zhuǎn)換為頂層元素,可以使用按鈕或JavaScript打開和關(guān)閉??梢詫棾霭格g回多種方式,但是沒有選擇自動關(guān)閉它們。 preethi有一種技術(shù),你可以

什么是'渲染障礙CSS”? 什么是'渲染障礙CSS”? Jun 24, 2025 am 12:42 AM

CSS會阻塞頁面渲染是因為瀏覽器默認(rèn)將內(nèi)聯(lián)和外部CSS視為關(guān)鍵資源,尤其是使用引入的樣式表、頭部大量內(nèi)聯(lián)CSS以及未優(yōu)化的媒體查詢樣式。1.提取關(guān)鍵CSS并內(nèi)嵌至HTML;2.延遲加載非關(guān)鍵CSS通過JavaScript;3.使用media屬性優(yōu)化加載如打印樣式;4.壓縮合并CSS減少請求。建議使用工具提取關(guān)鍵CSS,結(jié)合rel="preload"異步加載,合理使用media延遲加載,避免過度拆分與復(fù)雜腳本控制。

如何在無花果中使用Lotties 如何在無花果中使用Lotties Jun 14, 2025 am 10:17 AM

在接下來的教程中,我將向您展示如何在無花果中創(chuàng)建Lottie動畫。我們將使用兩種彩色設(shè)計來超越如何在無花果上進(jìn)行動畫,然后向您展示如何從Figma到Lottie動畫。您只需要免費無花果

打破邊界:用(s)CSS構(gòu)建湯姆拼圖 打破邊界:用(s)CSS構(gòu)建湯姆拼圖 Jun 13, 2025 am 11:33 AM

我們對其進(jìn)行了測試,事實證明,至少在低級邏輯和拼圖行為時,Sass可以替換JavaScript。除了地圖,混音,功能和大量數(shù)學(xué)外,我們都設(shè)法使我們的Tangram難題栩栩如生,沒有J

外部與內(nèi)部CSS:最好的方法是什么? 外部與內(nèi)部CSS:最好的方法是什么? Jun 20, 2025 am 12:45 AM

thebestapphachforcssdepprodsontheproject'sspefificneeds.forlargerprojects,externalcsSissBetterDuoSmaintoMaintainability andReusability; forsMallerProjectsorsingle-pageApplications,InternaltCsmightBemoresobleable.InternalCsmightBemorese.it.it'sclucialtobalancepopryseceneceenceprodrenceprodrenceNeed

我的CSS必須在較低的情況下嗎? 我的CSS必須在較低的情況下嗎? Jun 19, 2025 am 12:29 AM

否,CSSDOESNOTHAVETOBEINLOWERCASE.CHOMENDENS,使用flowercaseisrecommondendendending:1)一致性和可讀性,2)避免使用促進(jìn)性技術(shù),3)潛在的Performent FormanceBenefits,以及4)RightCollaboraboraboraboraboraboraboraboraboraboraboraboraboraboraboraboraborationWithInteams。

See all articles