firebase 功能电子邮件发送问题
Posted
技术标签:
【中文标题】firebase 功能电子邮件发送问题【英文标题】:Issue with firebase functions email sending 【发布时间】:2019-01-05 06:10:56 【问题描述】:我正在创建一个按钮,当按下该按钮时,将通过我的 ios swift 应用程序上的 firebase 云功能向特定的人发送电子邮件(经他们的许可),目前我正在使用的代码存在问题.目前,我正在尝试从这些已创建的函数中使用此快速入门:https://github.com/firebase/functions-samples/tree/Node-8/quickstarts/email-users:https://github.com/firebase/functions-samples,并尝试调用 sendWelcomeEmail 函数。一旦我弄清楚如何让它工作而不是欢迎电子邮件,我计划更改代码以发送自定义消息。我已经遵循了所有必要的步骤,包括验证我的谷歌帐户以及说明中所说的一切需要完成,但是当我运行我的代码来调用该函数并打印出现的错误时,我得到:
错误域=com.firebase.functions Code=16 "UNAUTHENTICATED" UserInfo=NSLocalizedDescription=UNAUTHENTICATED
我在整个互联网上查找了此错误,但没有出现任何内容。字面上没有提到这个错误,我不确定这是否是 firebase 或函数的问题,我对如何继续并使其正常工作感到困惑。我正在运行以调用此函数的代码如下:
Functions.functions().httpsCallable("sendWelcomeEmail").call(["email": "myEmail@gmail.com", "displayName": "myName"], completion: (result, error) in
if let error = error
print(error)
return
)
我非常乐意使用除此之外的另一个功能来发送这封电子邮件,但我不知道如何编写 javascript 代码,也不知道如何制作。如果有人知道如何解决这个问题,或者通过 Firebase 云功能向某人发送自定义电子邮件的替代方法,那就太好了。
【问题讨论】:
【参考方案1】:您误解了示例代码。您链接到的快速入门代码定义了两个云函数:sendWelcomeEmail
和 sendByeEmail
。它们是authentication triggers,当用户创建帐户然后删除其帐户时触发。仅当应用允许用户使用 Firebase 身份验证 API 创建和删除其帐户时,才会发生这种情况。
您要做的是手动调用这些函数之一,就好像它是callable function。但这些不是“可调用”函数。它们是身份验证触发器,并且在用户管理其帐户时自动调用。您不能使用 Firebase SDK 简单地调用背景类型触发器。如果您可以使用 Firebase SDK 直接调用的唯一函数是 callable functions。
因此,您在此处尝试执行的操作将永远行不通,因为您没有任何可调用的函数。请再次浏览这些文档链接,以了解对每种类型功能的期望。
【讨论】:
以上是关于firebase 功能电子邮件发送问题的主要内容,如果未能解决你的问题,请参考以下文章
SendGrid 无法发送电子邮件、firebase 功能。 (代码:403)
在云功能 Firebase 中使用 SendGrid 发送交易电子邮件
使用 firebase 功能和 nodemailer 从联系表单发送电子邮件