英文:
Firebase : SendPassworResetEmail
问题
我正在使用 Java 和 Firebase。在这种情况下,当使用 "sendPasswordResetEmail" 时,它没有将邮件发送给我。我已经检查过了,邮箱是从一个 editText 中获取的,我已经验证了邮箱的值是否被正确地获取了。我用已注册过的邮箱进行了测试,但它总是显示一条消息,以防任务不成功。
这个操作是在一个弹出窗口中执行的:
private TextView confirmar;
private EditText correo;
private String sCorreo = "";
private FirebaseAuth fireAuth;
private ProgressDialog pDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
fireAuth = FirebaseAuth.getInstance();
pDialog = new ProgressDialog(this);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pop_reset_password);
confirmar = (TextView) findViewById(R.id.terminar_popResetP);
correo = (EditText) findViewById(R.id.correo_popResetP);
DisplayMetrics medidas = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(medidas);
int ancho = medidas.widthPixels;
int alto = medidas.heightPixels;
getWindow().setLayout((int)(ancho*0.85), (int)(alto*0.5));
}
public void Cerrar(View view){
finish();
}
public void BtnReset(View view){
sCorreo = correo.getText().toString();
if(sCorreo.contains("@") && sCorreo.contains(".")){
confirmar.setVisibility(View.INVISIBLE);
pDialog.setMessage("Enviando enlace...");
pDialog.setCanceledOnTouchOutside(false);
pDialog.show();
ResetPassword();
}else {
confirmar.setText("Ingrese correo electronico valido.");
confirmar.setVisibility(View.VISIBLE);
}
}
public void ResetPassword (){
fireAuth.setLanguageCode("es");
fireAuth.sendPasswordResetEmail(sCorreo).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()){
//message: task is successful.
confirmar.setText("Se ha enviado un correo para restablecer tu contraseña.");
confirmar.setVisibility(View.VISIBLE);
}else {
//message: task not completed.
confirmar.setText("El enlace de restablecimiento de contraseña no pudo ser enviado, verifique el correo escrito.");
confirmar.setVisibility(View.VISIBLE);
}
pDialog.dismiss();
}
});
}
无论您用什么邮箱进行测试,它总是显示任务未完成的消息,并且明显没有消息到达我的邮箱;它总是显示否定的答案,就像邮箱无效或不存在一样。
英文:
I am using firebase with java and in this case when using the "sendPasswordResetEmail" it does not send me the mail, I already checked and the email was taken from an editText, I already verified that the value of the email is taken correctly, I tested it with emails that I have registered and it always shows me a message that is in case the task is not successful.
This operation is executed in a pop-up:
private TextView confirmar;
private EditText correo;
private String sCorreo = "";
private FirebaseAuth fireAuth;
private ProgressDialog pDialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
fireAuth = FirebaseAuth.getInstance();
pDialog = new ProgressDialog(this);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pop_reset_password);
confirmar = (TextView) findViewById(R.id.terminar_popResetP);
correo = (EditText) findViewById(R.id.correo_popResetP);
DisplayMetrics medidas = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(medidas);
int ancho = medidas.widthPixels;
int alto = medidas.heightPixels;
getWindow().setLayout((int)(ancho*0.85), (int)(alto*0.5));
}
public void Cerrar(View view){
finish();
}
public void BtnReset(View view){
sCorreo = correo.getText().toString();
if(sCorreo.contains("@") && sCorreo.contains(".")){
confirmar.setVisibility(View.INVISIBLE);
pDialog.setMessage("Enviando enlace...");
pDialog.setCanceledOnTouchOutside(false);
pDialog.show();
ResetPassword();
}else {
confirmar.setText("Ingrese correo electronico valido.");
confirmar.setVisibility(View.VISIBLE);
}
}
public void ResetPassword (){
fireAuth.setLanguageCode("es");
fireAuth.sendPasswordResetEmail(sCorreo).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()){
//message: task is successful.
confirmar.setText("Se ha enviado un correo para restablecer tu contraseña.");
confirmar.setVisibility(View.VISIBLE);
}else {
//message: task not completed.
confirmar.setText("El enlace de restablecimiento de contraseña no pudo ser enviado,
verifique el correo escrito.");
confirmar.setVisibility(View.VISIBLE);
}
pDialog.dismiss();
}
});
}
No matter the email you use to do the test, it always shows me the task not completed message and clearly no message reaches my email; It always shows me the negative answer as if the email was not valid or did not exist.
专注分享java语言的经验与见解,让所有开发者获益!
评论