【问题标题】:android ACTION_SENDTO creates email doesn't send itandroid ACTION_SENDTO 创建电子邮件不发送
【发布时间】: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


【解决方案1】:

是否有可能:在没有用户参与的情况下触发电子邮件消息的发送?

还好没有。

屏蔽创建电子邮件的显示/过程?

还好没有。

恶意软件作者、垃圾邮件发送者等喜欢能够使用用户自己的电子邮件帐户发送电子邮件,而无需用户参与。大多数用户会认为这种行为是不恰当的。

如果您想在没有用户参与的情况下发送电子邮件,请让您的 Web 服务使用您自己的电子邮件帐户和自己的邮件服务器代表您发送电子邮件。

【讨论】:

  • 点了。将问题的计划/原因添加到帖子的 cmets 部分。
  • @T.Barrett:基本原理并没有真正改变技术问题。 ACTION_SENDTO 只是您在 Web 开发中使用的同一类 mailto: 的包装器。点击的mailto: URL 不会发送电子邮件。它设置用户可以修改的电子邮件,然后由用户自行决定发送或丢弃。 Android 的ACTION_SENDTO 的行为方式大致相同。如果您使用的是第三方崩溃报告和/或分析包,它可能带有挂钩,可让您在不涉及电子邮件的情况下收集反馈。
猜你喜欢
  • 2011-03-09
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 2013-04-03
  • 2011-09-16
  • 1970-01-01
  • 2016-12-20
相关资源
最近更新 更多