来自 Firebase 消息和主题为空的电子邮件触发器
Email Trigger from Firebase Message and Subject empty
我安装并测试了来自 Firebase 的电子邮件触发器扩展。这个扩展在 Firestore 上创建了一个“邮件”集合,我在其中使用字段“to”、“Message”和“Subject”添加了一个新文档。我可以收到电子邮件,但问题是主题和消息都是空的。我正在测试扩展,只是填充 Firestore 数据库中的字段,而不是代码中的字段。有人知道填充这些填充物的正确格式结构吗? (主题和消息)。请参阅所附图片。谢谢
您的文档格式不正确。 message
字段应该是包含 subject
、html
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 类型。然后将字段主题和文本都添加为字符串,您应该会发现它有效。
您的文档格式不正确。 message
字段应该是包含 subject
、html
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 类型。然后将字段主题和文本都添加为字符串,您应该会发现它有效。