【发布时间】:2014-04-30 18:50:55
【问题描述】:
我正在创建一个 android application.in 其中有一个反馈表。现在,当用户单击“提交评论”按钮时,这应该会将所有详细信息发送到我的电子邮件地址,以及用户在表单中输入的所有详细信息。我在这里看到了很多例子和问题,但没有得到正确的答案。我不知道该怎么做。我是安卓新手。请帮帮我。
【问题讨论】:
-
你遇到了什么错误?
我正在创建一个 android application.in 其中有一个反馈表。现在,当用户单击“提交评论”按钮时,这应该会将所有详细信息发送到我的电子邮件地址,以及用户在表单中输入的所有详细信息。我在这里看到了很多例子和问题,但没有得到正确的答案。我不知道该怎么做。我是安卓新手。请帮帮我。
【问题讨论】:
你可以在你的发送按钮点击事件上试试这个:
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("message/rfc822");
i.putExtra(Intent.EXTRA_EMAIL , new String[]{"info@xxx.com"});
i.putExtra(Intent.EXTRA_SUBJECT, "title");
i.putExtra(Intent.EXTRA_TEXT, message);//message is your details
try {
startActivity(Intent.createChooser(i, "Send mail..."));
} catch (android.content.ActivityNotFoundException ex) {
Toast.makeText(about.this, "There are no email clients installed.", Toast.LENGTH_SHORT).show();
}
【讨论】:
Intent email = new Intent(Intent.ACTION_SEND);
email.putExtra(Intent.EXTRA_EMAIL, new String[]{ to});
//email.putExtra(Intent.EXTRA_CC, new String[]{ to});
//email.putExtra(Intent.EXTRA_BCC, new String[]{to});
email.putExtra(Intent.EXTRA_SUBJECT, "subject");
email.putExtra(Intent.EXTRA_TEXT, "message");
//need this to prompts email client only
email.setType("message/rfc822");
startActivity(Intent.createChooser(email, "Choose an Email client :"));
}
【讨论】:
在提交按钮上试试这个:
Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(
"mailto","email@email.com", null));
intent.putExtra(Intent.EXTRA_SUBJECT, subject);
intent.putExtra(Intent.EXTRA_TEXT, message);
startActivity(Intent.createChooser(intent, "Choose an Email client :"));
如果您没有特定的收件人 - 像这样:
Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(
"mailto",null, null));
【讨论】:
要发送电子邮件,您必须使用已配置正确电子邮件帐户的内置/安装的电子邮件客户端/应用程序。 android 中没有用于发送邮件的 API。发送接收电子邮件使用已由电子邮件应用程序实施的协议。在你的应用中实现它会变得非常复杂。
更好的选择是调用 Web 服务并将数据传递到服务器并将其存储在数据库中。如果您真的想发送电子邮件,则将服务器接收到的数据作为电子邮件发送。根据您使用的服务器,您将能够找到电子邮件的连接器。
【讨论】: