我试图在我的flutter应用程序上创建用户后发送电子邮件验证链接,但电子邮件没有发送,在我的云函数日志中,我在部署时收到消息:
{@type:“type.googleapis.com/google.cloud.audit.AuditLog”,“status:{”code:“9”,“message:“FAILED_premission”},“authenticationInfo:{”principalEmail:“**********************”},”requestMetadata:{”callerIp:“186.216.140.62”,“callerSuppliedUserAgent:“FirebaseCLI/6.5.0,gzip(gfe),gzip(gfe)”,“requestAttributes:{”time:“2019-03-29T23:21:10.130Z”,“auth:{,“destinationAttributes”:{}},“serviceName”:“cloudfunctions.googleapis.com”,“methodName”:“google.cloud.functions.v1.CloudFunctionsService.UpdateFunction”,“authorizationInfo:[{“权限”:“cloudfunctions.functions.update”,“已授予”:true,“resourceAttributes”:{}},{“资源”:“projects/pppppppp-9800a/locations/us-central1/functions/sendVerificationEmail”,“权限”:“cloudfunctions.functions.update”,“已授予”:true,“resourceAttributes”:{}],“resourceName”:“projects/pppppp-9800a/locations/us-central1/functions/sendVerificationEmail”,“request”:{“@type”:“type.googleapis.com/google.cloud.functions.v1.UpdateFunctionRequest”,“function”:{“labels”:{“deployment tool”:“cli firebase”},“eventTrigger”:{“eventType”:“providers/cloud.firestore/eventTypes/document.create”,“resource”:“projects/pppppp-9800a/databases/(default)/documents/users/{userId}”,“service”:“firestore.googleapis.com”},“sourceUploadUrl”:”https://storage.googleapis.com/gcf-upload-us-central1-dc1829cf-3a07-4951-be81-1a15f892ed8d/8ea3f162-c860-4846-9064-04a855efca2f.zip?GoogleAccessId=service-73683634264@gcf-管理员机器人。国际机械师协会。gserviceaccount。通用域名格式
我的代码:
exports.sendVerificationEmail = functions.firestore.document('users/{userId}').onCreate((snap, context) => {
const user = snap.data();
console.log("----------------------");
console.log("user created: " + user.uidColumn);
admin.auth().generateEmailVerificationLink(user.email).then((link) => {
console.log("**********" + link);
sendVerificationEmail(user.emailColumn, link);
return 0;
}).catch(e => {
console.log(e);
})
return 0;
});
function sendVerificationEmail(email, link) {
var smtpConfig = {
host: 'smtp.gmail.com',
port: 465,
secure: true, // use SSL
auth: {
user: 'myappemail@gmail.com',
pass: 'password'
}
};
var transporter = nodemailer.createTransport(smtpConfig);
var mailOptions = {
from: "qeaapp@gmail.com", // sender address
to: email, // list of receivers
subject: "Email verification", // Subject line
text: "Email verification, press here to verify your email: " + link,
html: "<b>Hello there,<br> click <a href=" + link + "> here to verify</a></b>" // html body
};
transporter.sendMail(mailOptions, function (error, response) {
if (error) {
console.log(error);
} else {
console.log("Message sent: " + response.message);
}
return 0;
});
return 0;
}
当我使用命令firebase deploy
时,我收到消息functions:failed to update function sendVerificationEmail HTTP Error:400,不允许更改函数触发器类型或事件提供程序
我是新来的,我不知道这些错误是什么意思
删除第一个名为sendVerizationEmail
的函数,然后重新部署。看起来你可能最初把它部署成了除了火力恢复触发器之外的东西。
我有聊天应用程序我正在使用Firebase firestore数据库,我正在保存最近的消息如下 接收者端:messages->recieverId->recent_messages 这意味着相同的消息将被写入当前用户和接收者用户文档。(同一消息将写入两个不同的文档) 消息内容如下: -接收方 现在我要观察集合,并且只向接收方用户发送通知,有什么方法可以避免向这两个用户发送推送通知吗?
我正在开发一个WordPress插件,其中我使用PHP邮件功能发送电子邮件,但是邮件功能有一个问题。它向我的非Gmail帐户发送电子邮件,但它不会向我的Gmail帐户发送电子邮件。我正在使用以下代码: 是我的代码有问题,还是邮件功能有问题?如果有其他方法可以发送电子邮件,请给我链接。
我正在使用Laravel,我想使用PHP邮件功能。我已经尝试过了: 但没有电子邮件获取发送至少我不接收它检查垃圾邮件文件夹,它不在那里,我不接收任何错误消息时,执行此代码。 php邮件函数用来发送邮件的是什么?也许我错过了什么? 此外,我没有运行这个地方,我有它上传到我的VPS运行Ubuntu 16.04。1 LTS
问题内容: 如何使用curl命令行程序从gmail帐户发送电子邮件? 我尝试了以下方法: 使用file.txt作为电子邮件的内容,但是,当我运行此命令时,出现以下错误: 是否可以从仍由curl托管的个人服务器托管帐户发送电子邮件?这样会使身份验证过程更容易吗? 问题答案: curl –url 'smtps://smtp.gmail.com:465’ –ssl-reqd \ –mail-from '
问题内容: 我正在尝试使用Java发送电子邮件: 我收到错误消息: 此代码可以发送电子邮件吗? 问题答案: 户名+密码不再是推荐的解决方案。这是因为 我尝试了此操作,Gmail向该代码中用作用户名的电子邮件发送了一封电子邮件,其中说我们最近阻止了你的Google帐户的登录尝试,并将我定向到此支持页面:support.google.com/accounts/answer/6010255因此它看起来很
问题内容: 这有点令人困惑,所以请在这里忍受… 我想建立一个系统,使用户可以通过我的网站发送模板化的电子邮件,但实际上并没有使用我的服务器发送它- 它只是打开自己的本地邮件客户端,并准备发送电子邮件。该应用程序将使用预定义的变量填充电子邮件的正文,以节省用户必须自己键入的电子邮件。然后,如果该消息不完全适合其目的,则他们可以根据需要编辑该消息。 我有很多理由希望它通过用户的本地邮件客户端,因此让服