1

我正在构建一个非常简单的 android 应用程序,它根据一堆用户输入创建一个字符串。我想让用户能够通过电子邮件向自己发送来自应用程序的字符串。

我来自 php 背景,这非常简单:有一个函数可以接收“收件人”地址、正文、主题等,并方便地php 发送电子邮件:

mail($to,$subject,$message,$headers)

这基本上是我想在 Android 环境中复制的内容。我在以下方面取得了一些成功,但这只是打开了用户的电子邮件客户端

Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
String emailTo = userEmail;
String emailSubject = "Subject Line";
String emailBody = userString;
emailIntent.setType("text/html");
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL,emailTo);
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,emailSubject);
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, Html.fromHtml(emailBody));
startActivity(Intent.createChooser(emailIntent, "Send mail..."));

最后我尝试调用一个 php 脚本来发送:

String phpSend = "http://www.MyPHPSendScript.com?emailbody=userString";
try {
  URL url = new URL(phpSend);
  url.openConnection().getContent();
  } catch (Exception e) {
      out.println("Failed to send email");
  }

但是a)这失败了,b)这似乎有点像黑客......

有没有人有任何想法/建议?

谢谢,格林奇

4

2 回答 2

1

我没有足够的声誉将其作为评论而不是答案,但是遵循本教程应该会让您走上正确的轨道,http://www.developerfusion.com/code/1975/sending-email-using-smtp -and-java/虽然老实说我之前没有这样做过。我确实从 android 文档中知道 Socket、DataInputStream 和 DataOutputStream 都受支持,所以看不出有任何不工作的原因。

于 2012-06-09T10:39:24.970 回答
0

我决定使用我原来的帖子中提到的 PHP 解决方案。恐怕我无法让任何电子邮件课程正常工作。我不知道您必须明确分配应用程序访问互联网的权限!我将以下内容添加到我的清单文件中,并且 PHP 工作得很好。

感谢您的所有帮助和指导!
格林奇

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
于 2012-07-08T11:19:30.457 回答