【发布时间】:2016-10-27 20:27:39
【问题描述】:
具有 1) 在 Android 设备上打开电子邮件客户端和 2) 成功填充发送消息所需的所有字段的工作代码。这包括收件人、发件人、主题和邮件正文。
e String mailMsg = "mailto:elmer@gmail.com" +
"?cc="+"" + //needed to fill out email properly
"&subject=" + Uri.encode(subject) +
"&body=" + Uri.encode(emailBody);
Intent emailIntent = new Intent(Intent.ACTION_SENDTO);
emailIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
emailIntent.setData(Uri.parse(mailMsg));
try{
context.startActivity(emailIntent);
}catch (ActivityNotFoundException ae){
Log.d("TEST100 ","Error sending email");
}
再次,代码在打开电子邮件客户端、创建填充电子邮件消息方面工作正常,但它不发送电子邮件。可能是因为我有多个电子邮件提供商吗?该代码始终设法连接到我的基于 mai 的提供商并与之合作。
已阅读 google 文档和 stackoverflow 中最相关的帖子,是否可以: 1. 在没有用户参与的情况下触发电子邮件的发送? 2. 屏蔽创建邮件的显示/过程?
感谢任何信息
【问题讨论】:
-
如果您可以匿名发送电子邮件,而无需来自第 3 方应用程序的用户交互,那肯定会很奇怪。所以我不认为这样的事情存在。一个简单的选择是要求用户给您一封电子邮件,您将在
from电子邮件标头中使用该电子邮件 - 但这在本地需要更多工作,并且在服务器端涉及更多工作。 -
我的计划是询问用户是否愿意与开发团队共享信息。如果他们说是,那么填写并发送电子邮件。不想让用户的注意力从基础应用程序上移开。
-
好的,但您也可以准备一个小型日志服务器(或类似的东西)。如果你真的想做电子邮件,你可以通过电子邮件 API 发送它,例如 MailGun(相当容易做到)。
标签: android email android-intent