因此,我在开发控制台中启用了电子邮件/密码,一切正常。除了我应该收到一封针对我输入的电子邮件的确认电子邮件,但我没有收到。我以为它会自动执行,但显然它不会。
报名方式:
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,这将是最好的解决方案。
现在根据更新的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."); } } });
您现在可以使用 Firebase Cloud Functions 滚动您自己的电子邮件发件人来填补电子邮件覆盖范围中的任何 Firebase 空白。有一个例子here。当然,这意味着比内置选项等配置更多的工作,但至少意味着我们可以做任何我们需要做的事情。 :)
在注册电子邮件中,它显示所有 api 密钥和所有其他信息,因此如何隐藏我尝试编辑注册电子邮件模板,但我们不能这样做