java - 在我的应用程序将我定向到电子邮件应用程序后,如何了解是否实际发送了电子邮件
问题描述
我正在尝试为“咖啡订购”应用程序制作原型。当您提交订单时,我的应用程序会将用户定向到包含订单详细信息的电子邮件应用程序。当发送电子邮件时,我想切换到一个新活动,其中显示“您的订单已成功下达”。现在,我有两个问题:
有没有办法让手机自动发送电子邮件,还是用户需要自己按发送?
发送邮件后,我如何了解电子邮件是否实际发送?
这是我目前正在使用的代码:
public void composeEmail() {
String[] addresses=new String[1];
addresses[0]="emailaddress@coffee.com";
String subject="Coffee Order";
Intent intent = new Intent(Intent.ACTION_SENDTO);
intent.setData(Uri.parse("mailto:"));
intent.putExtra(Intent.EXTRA_EMAIL, addresses);
intent.putExtra(Intent.EXTRA_SUBJECT, subject);
intent.putExtra(Intent.EXTRA_TEXT, orderDetails);
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(Intent.createChooser(intent, "Send Email"));
}
}
解决方案
有没有办法让手机自动发送邮件
不使用Intent
动作。您可能会考虑让您的应用程序与您创建的 Web 服务一起使用,该 Web 服务会在其中发送电子邮件。
还是用户需要自己按发送?
是的,如果您使用的是Intent
动作。
发送邮件后,我如何知道邮件是否真的发送了?
你没有。该信息对用户和电子邮件客户端是私有的。您可能会考虑让您的应用程序与您创建的 Web 服务一起使用,该 Web 服务在其中发送电子邮件,这样您就知道电子邮件何时发送。
推荐阅读
- image - 加载图像/颤振失败
- variables - 如何在 Pyomo 模型中为决策变量设置初始值
- ssl - openssl 生成自签名证书将私钥和证书放在一个文件中?
- python - 如果使用 CreateView Django 无效,则使用其实例预填充表单
- amazon-web-services - AWS Amplify,响应超时
- javascript - rollup - 如何在 JS 目标文件夹之外编写 CSS
- c# - 尽管在自定义消息上为 WndProc 消息分配了 IntPtr(1) 的 Result 值,但调用 sendmessage 的进程返回 0;
- c++ - 调试 C++ 语言服务器错误:无效的 AST
- android - 问:Android TimePicker.setIs24HourView 不起作用
- python - 使用 Python 通过 POST 多部分表单数据上传文件