簡體   English   中英

如何設置firebase觸發郵件和雲功能

[英]How to setup firebase trigger-mail and cloud functions

我在設置觸發郵件擴展和雲功能時遇到了很多麻煩。 在這里,我將逐步解釋如何完成工作!

讓我們開始工作吧。

設置Firebase

  • 如果您還沒有在這里,請創建一個項目。

  • 要使用trigger-mail擴展和雲功能,您需要將項目升級到BLAZE Plan

  • Go 並立即執行此操作(檢查窗口的左下角)。

  • Go 並設置firestore數據庫和storage 這對於擴展和功能的工作都是必要的。

Firebase 控制台


配置擴展

  • 單擊Build下的Extensions面板。

  • 查找Trigger Mail擴展並單擊安裝。

觸發郵件

這是主要部分:
在此處輸入圖像描述

  • 單擊下一步 2 次。

授予所有必要的權限。

在此處輸入圖像描述

在這里您將鏈接您將從中發送郵件的郵件帳戶

您會看到這樣的屏幕-> smtp配置

網址

如果我鏈接的郵件是xyz123@gmail.com ,這將是您的 SMTPS 格式:

smtps://xyz123@gmail.com@smtp.gmail.com:465

SMTPS connection URI字段中使用它。

密碼

這是一個有點緊張的步驟。

  • 此處的 Gmail 中啟用 2 因素授權。

  • 現在您需要創建應用密碼

應用密碼

  • 單擊生成。

  • 你會看到這樣的畫面 ->

在此處輸入圖像描述

  • 您必須在SMTP 密碼字段中輸入此密碼,然后單擊Create secret

注意:不要輸入空格。

  • 等待一段時間以完成該過程。

  • 完成后,您的屏幕將如下所示 ->

在此處輸入圖像描述

  • 您可以保留與原始郵件相同的默認回復地址 Gmail,或者您的選擇之一。

  • Email 個文檔集合相同。

  • 單擊安裝擴展。

在此處輸入圖像描述

這將需要幾分鍾時間。 *

瞧,你完成了!


讓我們發送一封測試郵件。

現在為了發送郵件,您需要將文檔添加到您的firestore數據庫中的mail集合中。

在此處查找官方文檔。

to: ['someone@example.com'],
message: {
  subject: 'Hello from Firebase!',
  text: 'This is the plaintext section of the email body.',
  html: 'This is the <code>HTML</code> section of the email body.',
}
  • 這是發送郵件的文檔格式。

“to”是一個array“message”是一個map

  • 讓我們手動創建一個集合->

在此處輸入圖像描述

這是我的文件 window

在此處輸入圖像描述

  • 讓我們保存這份文件。

  • 如果操作正確,幾秒鍾內,您將看到文檔自動更新更多字段,如attempts等。

  • 查看您的郵件以查找 email。


寫一個 function。

  • 讓我們設置Firebase CLI
  • 在這里下載 Node.js。
  • 運行安裝程序。
  • 復制驅動器中的安裝路徑。
  • 我的安裝在C:\Program Files\nodejs

在此處輸入圖像描述

  • 在系統托盤中搜索environment variables

在此處輸入圖像描述

在此處輸入圖像描述

  • 將目錄粘貼到System Variables -> Path下,新建並添加。

  • 按照此處的步驟下載並安裝Firebase CLI .

  • 使用上述文檔登錄到 firebase cli。

  • 在代碼編輯器中打開您的項目,然后在終端中鍵入firebase init

  • Select 項目並添加功能支持。 它將創建一個新文件夾functions

  • 我寫了一個 function,它在創建新用戶時發送入職 email。

const functions = require("firebase-functions");
const admin = require("firebase-admin");

admin.initializeApp();

//  sends mail if new user is regestired
exports.userOnboardingMail = functions.auth.user().onCreate((user)=>{
  admin.firestore().collection("mail").add({
    "to": [user.email],
    "message": {
      "subject": "Welcome to Textel Alert! Explore functionalities here.",
      "text": `Hi, ${user.displayName}. \n\nIt's nice to have you on-board.`,
    },
  })
      .then((result) => {
        console.log(
            "onboarding email result: ", result,
            "\ntime-stamp: ", Date.now);
      });
});

希望我能讓你的一天更輕松一點:)
有幫助的話點個贊吧。。


附加鏈接

在這里學習 firebase 雲函數。 真心推薦這個頻道。
官方Trigger-mail 文檔
Firebase CLI文檔
Firebase 雲函數文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM