【问题标题】:Firebase sendPasswordResetEmail doesn't send emailFirebase sendPasswordResetEmail 不发送电子邮件
【发布时间】:2022-02-08 05:49:55
【问题描述】:

我的应用程序使用 firebase 时遇到问题:如果我想让用户自己重置密码,firebase 不会向他们的地址发送电子邮件。如果我自己从 Firebase 控制台执行此操作,它可以正常工作。我正在尝试这样:

   resetPassword(email: string) {
        sendPasswordResetEmail(this.auth, email)
            .then(() => {
                // Password reset email sent!
                // ..
            })
            .catch((error) => {
                const errorCode = error.code;
                const errorMessage = error.message;
                // ..
            });
    }

有人对我有一些见解,为什么这不起作用?我得到这样的身份验证:

this.firebaseApp = initializeApp(environment.firebaseConfig);
this.auth = getAuth(firebaseApp);

我正在使用 Firebase 模块化 SDK (V9.0.0+)。

如果有人可以帮助我,我将非常感激! 干杯!

【问题讨论】:

    标签: javascript node.js firebase firebase-authentication


    【解决方案1】:

    你从哪里获得环境?如果您正确获取它并且 environment.firebaseConfig 不是未定义的,那么这应该可以工作。

    import { initializeApp } from 'firebase/app';
    import { getAuth, sendPasswordResetEmail } from "firebase/auth";
    
    const app = initializeApp(environment.firebaseConfig);
    const auth = getAuth();
    sendPasswordResetEmail(auth, email)
      .then(() => {
        // Password reset email sent!
      })
      .catch((error) => {
        const errorCode = error.code;
        const errorMessage = error.message;
      });
    

    【讨论】:

    • 是的,它现在可以工作了...我错误地调用了包含 sendPasswortResetEmail() 的方法...不过还是谢谢! :)
    【解决方案2】:

    很抱歉没有提供最有用的答案,我的建议是:

    1. 验证控制台没有引发 Firebase 错误
    2. 验证 firebase env 变量是否正确

    【讨论】:

    • 您好,仍然感谢您的回答。控制台中没有错误,并且 env 变量设置正确,因为我只是将它们从 firebase 控制台中复制出来。
    猜你喜欢
    • 2022-11-20
    • 2021-06-27
    • 1970-01-01
    • 2018-11-21
    • 2011-09-16
    • 2015-08-13
    • 2019-06-24
    • 2016-09-22
    • 2018-11-08
    相关资源
    最近更新 更多