在Android应用程序中发送电子邮件

时间:2013-01-20 12:29:02

标签: android email email-integration

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

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

情景很简单,应用应该可以使用私人电子邮件帐户发送电子邮件(例如XXXX@App.com

2 个答案:

答案 0 :(得分: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 :"));

来源:tutorial

<强> P.S。 :您应该购买SMTP服务器,以便从您的应用中向用户发送电子邮件。

答案 1 :(得分:0)

您可以使用javax.mail API发送电子邮件。请记住,发送电子邮件要求您拥有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