繁体   English   中英

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

[英]Is it possible to send an email in android without launching the corresponding application?

因此,发送电子邮件的详细记录--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构建自己的自定义电子邮件应用程序

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

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

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和其他测试。

否则,AFAIK没有本地Android API允许人们直接发送电子邮件(即不通过应用程序)。

当然,您可以发送电子邮件而无需使用外部库或打开应用程序。 JavaMail中没有魔术。 您可以编写自己的所有代码。 动笔! 与使用JavaMail相比,这将花费更多的精力,但是如果您要这样做,肯定可以做到。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM