如何在注册时发送 Firebase 电子邮件确认信息?

问题描述 投票:0回答:3

因此,我在开发控制台中启用了电子邮件/密码,一切正常。除了我应该收到一封针对我输入的电子邮件的确认电子邮件,但我没有收到。我以为它会自动执行,但显然它不会。


报名方式:

public void signUp(View v) {
    String email = emailET.getText().toString();
    String password = passwordET.getText().toString();
    mAuth.createUserWithEmailAndPassword(email, password)
            .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {
                    Log.d("AD", "createUserWithEmail: " + task.isSuccessful() + task.getException());
                    if (!task.isSuccessful()) {
                        createDialogSignUpError(
                                getApplicationContext().getResources().getString(R.string.signUpFailedET),
                                getApplicationContext().getResources().getString(R.string.signUpFailedEM),
                                getApplicationContext().getResources().getString(android.R.string.ok));
                        Toast.makeText(SignUp.this, task.getException().toString(), Toast.LENGTH_LONG).show();
                    } else if (task.isSuccessful()) {
                        Toast.makeText(SignUp.this, "Registration Successful.", Toast.LENGTH_SHORT).show();
                    }
                }
            });

}

应该发送,但遗憾的是没有。我在 SO 上读到过,你需要添加一个方法或其他东西来发送电子邮件,但文档中缺少它,但这不是 Java。


编辑

根据here,仅在iOS和Web中支持。这非常令人惊讶,因为毕竟,android 就是 Google,而 Google 就是 Firebase。那么,即使创建自定义发送的电子邮件也可能吗?


编辑 2: 更清楚地说,Android 是否有像 C# 一样的 Email 发送器。如果没有 API,这将是最好的解决方案。

android firebase firebase-authentication
3个回答
2
投票

现在根据更新的firebase文档

以下是如何向用户发送验证邮件,在您的情况下是在创建帐户并让用户登录后向他/她发送一条通知,要求他/她验证帐户,然后阻止下次登录直到他/她没有验证(我认为这比让用户被迫先打开他的电子邮件更好)

向用户发送验证电子邮件

您可以向用户发送地址验证电子邮件,其中包含 发送电子邮件验证方法。例如:

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();

user.sendEmailVerification()
        .addOnCompleteListener(new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                if (task.isSuccessful()) {
                    Log.d(TAG, "Email sent.");
                }
            }
        });

1
投票

您现在可以使用 Firebase Cloud Functions 滚动您自己的电子邮件发件人来填补电子邮件覆盖范围中的任何 Firebase 空白。有一个例子here。当然,这意味着比内置选项等配置更多的工作,但至少意味着我们可以做任何我们需要做的事情。 :)


0
投票

在注册电子邮件中,它显示所有 api 密钥和所有其他信息,因此如何隐藏我尝试编辑注册电子邮件模板,但我们不能这样做

© www.soinside.com 2019 - 2024. All rights reserved.