0

我正在开发一个安卓应用程序,我的客户的要求是在应用程序中添加一个“忘记密码”页面,这个页面要求用户输入他的电子邮件,如果电子邮件通过身份验证,那么应用程序应该将密码通过电子邮件发送到用户电子邮件。

我正在寻找在线电子邮件服务器,但不知道这样做。

场景很简单,应用程序应该能够使用私人电子邮件帐户发送电子邮件(例如XXXX@App.com

4

2 回答 2

1
    Intent email = new Intent(Intent.ACTION_SEND);
    email.putExtra(Intent.EXTRA_EMAIL, new String[]{"youremail@app.com"});        
    email.putExtra(Intent.EXTRA_SUBJECT, "subject");
    email.putExtra(Intent.EXTRA_TEXT, "message");
    email.setType("message/rfc822");
    startActivity(Intent.createChooser(email, "Choose an Email client :"));

来源:教程

PS:您应该购买一个 SMTP 服务器来从您的应用程序向用户发送电子邮件。

于 2013-01-20T12:46:58.363 回答
0

您可以使用javax.mailAPI 发送电子邮件。请记住,发送电子邮件需要您拥有 SMTP 服务器,但您可以使用 GMail 的 SMTP 服务器作为开始。可以在此处找到示例代码:

http://www.javapractices.com/topic/TopicAction.do?Id=144

只要记住几件事:

  • 不应该从您的 Android 应用程序发送电子邮件。由于您必须提供 SMTP 服务器及其帐户凭据,它们可能会从您的应用程序代码中剥离并被滥用。
  • 您应该将电子邮件发送代码放在您的服务器中,并允许它根据消息类型和其他一些需要的数据(如用户 ID)仅发送几种消息类型(例如密码恢复帮助程序、订阅通知等)从发送你的申请。这可以保护您免受有人使用您的服务器发送任意消息(例如常规垃圾邮件)的可能性。
  • 您必须提供有效凭据,而不是fromblah@blah.com配置您的电子邮件设置。例如,GMail 为 SMTP 服务器使用自定义端口。您可以在此处找到帮助:http: //support.google.com/mail/bin/answer.py ?hl=en&answer=78775
于 2013-01-20T12:48:11.907 回答