#每個網路應用程式的主要元件之一就是發送電子郵件的能力。
現在,這並不意味著每個 Web 應用程式都是自己的郵件用戶端(儘管人們確實創建了自己的郵件用戶端)。
相反,我的意思是,當用戶註冊、用戶修改密碼、系統中的某些內容發生變化時,或者更一般地說,每當發生網站所有者想要通知用戶的情況時,應用程式通常會發送電子郵件.
到目前為止,在本系列中,我們已經介紹了:
- 使用者管理
- 權限
- 會話管理
上一篇文章可以說是我們將要介紹的最複雜的文章之一;但是,對於那些希望在專案中添加更多高級功能的人來說,這是必要的。
話雖如此,我們將從一些更複雜的材料中休息一下,看看 WordPress 在發送電子郵件方面必須提供什麼。
了解電子郵件
在我們深入了解 WordPress API 在發送電子郵件、自訂電子郵件等方面提供的功能之前,了解電子郵件的一些知識非常重要。
也就是說,了解創建實際電子郵件的組成部分非常重要 - 畢竟,它不僅僅是地址、主題和內容。
在我們開始建立自己的自訂電子郵件之前,有一些技術上的細微差別值得理解。
標題
簡而言之,電子郵件標頭包含最少的資訊集,包括:電子郵件的發送者以及電子郵件的發送地址。
通常,您可能會看到標頭中包含的其他資訊。例如,此資訊可能包括發送電子郵件的時間戳記。
對於 WordPress,除非另有指定,否則電子郵件標頭中指定的寄件者始終被定義為 WordPress 中的預設寄件者。
例如,如果您希望將回覆位址設定為“donotreply@domain.com”,那麼您必須對此進行自訂。
此外,通常最好以陣列的形式使用電子郵件標頭,以便您可以輕鬆建立、指定和傳遞地址、副本地址和密件副本收件者。
MIME 類型
當涉及電子郵件遵循的格式時,您可能會看到兩種形式:
- 純文字
- HTML
您已經習慣在大多數現代電子郵件用戶端中看到HTML;但是,如果您有一個更簡單的客戶端,將其設置為僅顯示純文本,或者您在稍舊的手機上閱讀電子郵件,那麼您將以純文字形式閱讀內容。
WordPress 可以以純文字或 HTML 形式傳送電子郵件。
當我們查看如何以程式設計方式發送電子郵件的範例時,我們將具體了解如何做到這一點。簡而言之,有一個鉤子可以讓它變得非常簡單 - 但我們會等待看到它的實際效果,直到我們介紹電子郵件的其餘必要部分。
附件
如您所知,附件實際上是您附加到電子郵件並發送給收件人的任何文件。
問題是,有一些管理電子郵件的規則 - 但它們不一定是由軟體設定的。相反,伺服器、電子郵件用戶端和其他各種規則限制了我們可以在收件匣中接收的內容。
例如:
- 某些客戶端不允許發送 zip 檔案或可執行檔
- 許多電子郵件服務都有可附加的最大檔案大小限制
- 某些類型的電子郵件可能會根據其附件(或其內容)被標記為垃圾郵件
無論如何,這超出了我們的控制範圍 - 我們只需要知道我們向誰發送電子郵件的限制,並確保我們遵守這些限制。
為此,建立透過 WordPress 電子郵件傳送的附件非常簡單。
雖然附件顯然不是必需的,但您可能想要附加單一文件甚至多個文件。在 WordPress 中,這可以透過字串或陣列來完成。
我們現在不會具體了解如何做到這一點,但當我們查看如何以程式設計方式發送電子郵件的範例時,我們將立即了解這一點。
收件人、主題和訊息
在最基本的層面上,每封電子郵件都包含一個「收件者」電子郵件地址、一個「主題」和一個「訊息” 」。
在 WordPress 中,這些設定也非常容易 - 只需為每個設定提供字串,然後就可以開始了。
當然,如果您想向多個人發送電子郵件,您可以迭代地址集合並為每個用戶發送一封電子郵件,或您可以向WordPress 提供一組收件人郵件API ,它會將電子郵件發送給所有包含在內的人。
請記住:如果您想指定不同的 reply-to
位址,請在我們在本文前面介紹的標頭中指定該位址。
使用 WordPress 電子郵件 API
綜上所述,我們準備好實際了解 WordPress 電子郵件 API。
簡而言之,所有功能都包含在一個名為wp_mail
的函數中;但是,如果我們想充分利用該應用程式提供的功能,有一些我們需要注意的地方。
所需的掛鉤
具體來說,我們將使用以下鉤子:
-
wp_mail_content_type
允許我們定義正在傳送的電子郵件的 MIME 類型 -
wp_mail_from
是一個篩選器,我們可以使用它來定義寄件者位址,而不是使用$headers
陣列 -
wp_mail_from_name
是一個過濾器,我們可以使用它來定義此人的寄件人,而不是使用$headers
陣列 -
wp_login
是我們用於演示的鉤子,這樣每當有人登入 WordPress 儀表板時我們就會向某人發送電子郵件
為了完整起見,我將在下面分享整個程式碼,然後我們將逐步完成它。
原始碼
<?php function acme_email_individual( $input ) { /** * Note: assume that $input has keys for 'email-address'. */ // Generate the password $password = wp_generate_password ( 12, false ); // Email the user that they're profile was created $message = 'Hey There,'; $message .= '<br /><br />'; $message .= 'Your account has been created. Your login information is below:'; $message .= '<br />'; $message .= '<ul>'; $message .= '<li>Username: ' . $input['email-address'] . '</li>'; $message .= '<li>Password: ' . $password . '</li>'; $message .= '</ul>'; $message .= '<br />'; $message .= 'You can login to the application <a href="' . get_bloginfo( 'siteurl' ) . '">here</a>.'; add_filter( 'wp_mail_content_type', create_function( '', 'return "text/html";' ) ); add_filter( 'wp_mail_from', 'acme_mail_from' ); add_filter( 'wp_mail_from_name', 'acme_mail_from_name' ); wp_mail( $input['email-address'], 'Your Acme Account Has Been Created!', $message, array() ); } function acme_mail_from( $email ) { // NOTE: replace [at] with @. This was causing problems with the syntax highlighter. return 'donotreply[at]acme.com'; } function acme_mail_from_name( $name ) { return 'The Acme Company'; }
如果您到目前為止一直在閱讀本文,那麼這一切都不會太令人驚訝:畢竟,我們正在利用WordPress 提供的掛鉤,我們正在構建字串作為函數參數傳遞,然後我們調用 wp_mail
函數。
但請注意,我們傳遞一個空數組作為此電子郵件的 $headers
參數。這是因為我們使用自訂過濾器來設定“寄件者名稱”和“寄件者地址”,使用過濾器和掛鉤函數而不是陣列。
這種方式不一定比其他方式更好;然而,它的目的是證明有多種方法可以達到相同的結果。
現在,轉向數據!
這是 WordPress 的另一個功能,可以讓您輕鬆地將電子郵件功能包含到您的 Web 應用程式中。
事實上,我認為 WordPress 的事件模型使得在任何可以想像到的場景中引入電子郵件功能變得異常容易 - 如果有可用的鉤子,就可以發送電子郵件。
話雖如此,是時候將我們的注意力轉向 Web 應用程式開發最常見的方面之一:資料管理。
具體來說,我們需要研究如何將資訊保存到資料庫並從資料中檢索訊息,以及如何安全有效地完成這些操作。
因此,從下一篇文章開始,我們將這樣做。
以上是用於 Web 應用程式開發的 WordPress:電子郵件集成的詳細內容。更多資訊請關注PHP中文網其他相關文章!

能在三天內學會WordPress。 1.掌握基礎知識,如主題、插件等。 2.理解核心功能,包括安裝和工作原理。 3.通過示例學習基本和高級用法。 4.了解調試技巧和性能優化建議。

WordPress是內容管理系統(CMS)。它提供內容管理、用戶管理、主題和插件功能,支持創建和管理網站內容。其工作原理包括數據庫管理、模板系統和插件架構,適用於從博客到企業網站的各種需求。

wordpressgood forvortalyanewebprojectDuetoItsAsatilityAsacms.itexcelsin:1)用戶友好性,允許Aeserywebsitesetup; 2)sexibility andcustomized andcustomization and numerthemesandplugins; 3)seoop timigimization; and4)and4)

Wix適合沒有編程經驗的用戶,WordPress適合希望有更多控制和擴展能力的用戶。 1)Wix提供拖放式編輯器和豐富模板,易於快速搭建網站。 2)WordPress作為開源CMS,擁有龐大社區和插件生態,支持深度自定義和擴展。

WordPress本身免費,但使用需額外費用:1.WordPress.com提供從免費到付費的套餐,價格從每月幾美元到幾十美元不等;2.WordPress.org需購買域名(每年10-20美元)和託管服務(每月5-50美元);3.插件和主題多數免費,付費的價格在幾十到幾百美元之間;通過選擇合適的託管服務、合理使用插件和主題、定期維護和優化,可以有效控制和優化WordPress的成本。

WordPress核心版本是免費的,但使用過程中可能產生其他費用。 1.域名和託管服務需要付費。 2.高級主題和插件可能需要付費。 3.專業服務和高級功能可能需要付費。

WordPress對初學者來說容易上手。 1.登錄後台後,用戶界面直觀,簡潔的儀表板提供所有必要功能鏈接。 2.基本操作包括創建和編輯內容,所見即所得的編輯器簡化了內容創建。 3.初學者可以通過插件和主題擴展網站功能,學習曲線存在但可以通過實踐掌握。

人們選擇使用WordPress是因為其強大和靈活性。 1)WordPress是一個開源的CMS,易用性和可擴展性強,適合各種網站需求。 2)它有豐富的主題和插件,生態系統龐大,社區支持強大。 3)WordPress的工作原理基於主題、插件和核心功能,使用PHP和MySQL處理數據,支持性能優化。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

SublimeText3漢化版
中文版,非常好用

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。