来自 Firebase 消息和主题为空的电子邮件触发器

Email Trigger from Firebase Message and Subject empty

我安装并测试了来自 Firebase 的电子邮件触发器扩展。这个扩展在 Firestore 上创建了一个“邮件”集合,我在其中使用字段“to”、“Message”和“Subject”添加了一个新文档。我可以收到电子邮件,但问题是主题和消息都是空的。我正在测试扩展,只是填充 Firestore 数据库中的字段,而不是代码中的字段。有人知道填充这些填充物的正确格式结构吗? (主题和消息)。请参阅所附图片。谢谢

您的文档格式不正确。 message 字段应该是包含 subjecthtml and/or text 主体的对象:

admin.firestore().collection('mail').add({
  to: 'someone@example.com',
  message: {
    subject: 'Hello from Firebase!',
    html: 'This is an <code>HTML</code> email body.',
  },
})

您改为提供 message 作为字符串。阅读您安装的扩展程序的使用说明以了解更多详细信息。

这是使用 Firebase SDK 的完整更新示例 9.x.x

import { initializeApp } from "https://www.gstatic.com/firebasejs/9.1.0/firebase-app.js";
import { getAuth, onAuthStateChanged } from 'https://www.gstatic.com/firebasejs/9.1.0/firebase-auth.js';
import { getFirestore, addDoc, collection } from 'https://www.gstatic.com/firebasejs/9.1.0/firebase-firestore-lite.js';

// Your web app's Firebase configuration
const firebaseConfig = {
...
};

// Initialize Firebase
const app = initializeApp(firebaseConfig);
const auth = getAuth();
const db = getFirestore(app);

onAuthStateChanged(auth, (user) => {
if (user) {
const uid = user.uid;
console.log('User is logged in.');
} else {
// User is signed out
console.log('User is NOT logged in.');
}
});

try {
const docRef = await addDoc(collection(db, "mail"), {
to: "TO@DOMAIN.COM",
message: {
subject: 'Hello from Firebase!',
html: 'This is an <code>HTML</code> email body.',
}
});
console.log("Document written with ID: ", docRef.id);
} catch (e) {
console.error("Error adding document: ", e);
}

您需要做的是将收件人字段设置为您的电子邮件,消息应该是 map 类型。然后将字段主题和文本都添加为字符串,您应该会发现它有效。