該教程演示了使用Jamstack架構,集成NetLify功能,Intion API和MailGun的新聞通訊註冊系統。讓我們探索如何直接收集電子郵件訂閱者,為已建立的新聞通訊平台提供免費的自託管替代方案。
許多人今天創建了新聞通訊,利用替代,MailChimp,Revue(Twitter)甚至Facebook等服務。其他人則選擇自我管理的WordPress解決方案,例如MailPoet。本教程提出了一種不同的方法:一種用於使用HTML表單,無服務器功能和數據庫收集電子郵件地址的自定義系統。此方法避免了與許多現有平台相關的成本。
本教程使用NetLify函數,一個概念數據庫和郵件槍構建系統(儘管可以替換任何API啟用的電子郵件服務)。所有服務提供免費層(具有限制)。完整的代碼可在GitHub上找到。
概念:您的數據庫解決方案
概念是我們的數據庫。這是一個多功能工作空間,用於筆記,項目管理等。它的數據庫功能,可通過用戶友好的界面訪問,是存儲我們的電子郵件訂閱的理想選擇。我們將創建一個名為“新聞通訊電子郵件”的表(數據庫),並使用簡單的“電子郵件”列和概念的內置“創建時間”屬性。
概念API令牌和集成
要連接到概念數據庫,請創建一個概念集成(不在您的概念帳戶中,而是在登錄時在概念網站上)。將其命名為“新聞通訊註冊”並獲得內部集成令牌(API令牌)。至關重要的是,與此集成共享“新聞通訊電子郵件”數據庫以授予訪問權限。
NetLify功能:無服務器功率
NetLify功能提供無服務器API端點。雖然可以使用Netlify表格,但免費層限制提交至每月100。但是,NetLify功能提供了更高的調用限制(免費計劃中的125,000個),使其適合處理大量的電子郵件註冊。
設置NetLify項目
安裝NetLify CLI( npm install netlify-cli -g
),創建項目目錄,初始化NPM( npm init
),並使用NetLify進行身份驗證。需要一個netlify.toml
文件來指定功能目錄( functions = "functions"
)。
NetLify函數(index.js)
此功能處理表單提交。 npm install @notionhq/client --save
@notionhq/client
-save )。使用您的intion api令牌( NOTION_API_TOKEN
)和數據庫ID( NOTION_DATABASE_ID
)創建.env
文件。數據庫ID可在數據庫的概念URL中找到。
index.js
函數驗證了電子郵件地址,使用概念API將電子郵件添加到數據庫中,並返回成功或錯誤響應。
HTML表格(index.html)
使用電子郵件輸入和提交按鈕的簡單HTML表單。 JavaScript代碼驗證了電子郵件,並將發布請求發送到NetLify函數( /.netlify/functions/index
)。 Bootstrap 5用於造型。
MailGun集成(Welcome.js)
要發送確認電子郵件,請集成MailGun(或類似的服務)。從MailGun儀表板獲取您的MailGun API密鑰和域,將它們添加到.env
文件中,為MAILGUN_API_KEY
和MAILGUN_DOMAIN
。
安裝mailgun-js
軟件包( npm install mailgun-js --save
)。創建一個welcome.js
netlify函數,以從概念(在過去30分鐘內)獲取新的註冊,並使用Mailgun API發送確認電子郵件。
測試和下一步
測試表單,驗證數據庫條目,然後使用Postman等工具將POST請求發送到welcome
功能。請記住檢查您的垃圾郵件文件夾以獲取確認電子郵件。
未來的改進包括實施計劃的任務(例如,使用GitHub操作)定期發送歡迎電子郵件並向welcome
端點添加安全措施。
本教程為建立新聞通訊註冊系統提供了強大,成本效益和教育的方法。該過程展示了組合各種服務和API以創建功能應用程序的力量。
以上是收集使用概念API的電子郵件註冊的詳細內容。更多資訊請關注PHP中文網其他相關文章!