java - 是否可以在不启动相应应用程序的情况下在android中发送电子邮件?

标签 java android android-intent jakarta-mail

所以发送电子邮件在 - https://developer.android.com/guide/components/intents-common.html#Email 上有详细记录 如下:-

public void composeEmail(String[] addresses, String subject) {
    Intent intent = new Intent(Intent.ACTION_SENDTO);
    intent.setData(Uri.parse("mailto:")); // only email apps should handle this
    intent.putExtra(Intent.EXTRA_EMAIL, addresses);
    intent.putExtra(Intent.EXTRA_SUBJECT, subject);
    if (intent.resolveActivity(getPackageManager()) != null) {
        startActivity(intent);
    }
}

我假设上面的代码会打开或要求您打开电子邮件应用程序(例如 gmail)以发送您的电子邮件。

所以我搜索了另一种无需打开应用程序即可发送消息的方法。我发现了这个:- http://www.edumobile.org/android/send-email-on-button-click-without-email-chooser/

上面的链接显示您基本上必须使用 gmail SMTP 和 JavaMail api 构建您自己的自定义电子邮件应用

我的问题是,有没有办法不发送电子邮件

一个。打开另一个应用程序。

B.使用 java 邮件等外部库?

像这样:- https://imgur.com/a/yatJy

最佳答案

答案是否定的,如果您认为以下是“外部库”:

import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.security.AccessController;
import java.security.Provider;

如果您不考虑那些“外部”,如果需要,我可以为您提供适用于 Android 8.1 的代码。已通过 Gmail、Yahoo 和其他网站进行测试。

否则,据我所知,没有原生 Android API 允许直接发送电子邮件(即不通过应用程序)。

关于java - 是否可以在不启动相应应用程序的情况下在android中发送电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49345368/

相关文章:

android - 如何传递和检索二维数组作为 Intent

java - NoClassDefFoundError : javax.naming.ldap.LdapName是GAE中的受限类

java - 如何淡入/淡出 Java 图形?

android - Gradle flatDir 模块路径

Android:评分栏不可见,仅在触摸时可见

android - 短信 Intent 的 ActivityNotFoundException

android - 如何在android中打开警告对话框

java - SerializationProxy 模式给出 ClassCastException : How to avoid?

java - 用Java计算全连接的网状拓扑网络数量

android - BackupManager - 任何 "bmgr wipe"替代方案?