在Android中发送忘记密码的邮件

3
我创建了一个登录演示。我正在使用与PHP代码连接的JSON解析器解析用户名和密码。我还为忘记密码编写了代码。但是我无法收到任何邮件。为什么?我创建了一个“忘记密码”活动,在其中有一个文本字段用于输入电子邮件地址,当我点击提交按钮时,邮件应该带着密码发送到我的收件箱。如何做到这一点?请有人帮帮我吗?
以下是我的“忘记密码”代码:
package com.Login;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;


public class ForgotPassActivity extends Activity {
     EditText address, subject, emailbody, et_email;
    @Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub

    super.onCreate(savedInstanceState);
    setContentView(R.layout.forgot_password);
    TextView textv = (TextView) findViewById(R.id.lbl_loginhere);
    et_email = (EditText) findViewById(R.id.et_email);
    textv.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            ForgotPassActivity.this.finish();
            Intent intent = new Intent();
            intent.setClass(v.getContext(), LoginActivity.class);
            startActivity(intent);

    }
        //Code For Sending mail

    });
    Button b1 = (Button) findViewById(R.id.submitButton);
    b1.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            sendEmail();
        }

    });

}
    public void sendEmail(){


          final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
          emailIntent.setType("plain/text");
          emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"testmail@testmail.com"});
          emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject.getText());
          emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, emailbody.getText());
          ForgotPassActivity.this.startActivity(Intent.createChooser(emailIntent, "Send mail..."));

}


}
1个回答

1
Edited

如果您正在使用任何网络服务,更好的方法是通过传递用户电子邮件地址调用网络服务,并在数据库中搜索并提取记录。为了安全地传递数据,请创建Post服务,并从您的服务(如php或任何其他技术)向传入的电子邮件发送邮件及其密码。
更新:
您可以从您的服务mail()中使用此函数,有关更多信息,请参见链接,这里是简单的代码片段。
<?php
// The message
$message = "Line 1\nLine 2\nLine 3";

// In case any of our lines are larger than 70 characters, we should use wordwrap()
$message = wordwrap($message, 70);

// Send
mail('caffeinated@example.com', 'My Subject', $message);
?>

http://www.w3schools.com/php/php_mail.asp

http://php.net/manual/en/function.mail.php


2
你不应该将密码发送到网络服务中...只需发送用户名...然后通过网络服务向该用户的注册地址发送电子邮件。 - Moog
@Pratik 我想要Android代码,用于使用Web服务发送邮件。 - Rash
你调用过任何网络服务吗? - Pratik
让我们在聊天中继续这个讨论 - Rash
@Pratik先生,我想从MySQL中检索密码并将其发送到用户的电子邮件。我应该从哪里开始?我找不到任何教程.. - John Joe
显示剩余5条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接