因此,在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
答案 0 :(得分:1)
答案是否定的,如果你认为以下是“外部图书馆”:
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,雅虎等测试。
否则,AFAIK,没有原生Android API允许用户直接发送电子邮件(即不通过应用)。
答案 1 :(得分:1)
当然,您可以在不使用外部库或打开应用程序的情况下发送电子邮件。 JavaMail中没有神奇之处。这是你自己写的所有代码。动笔!这比使用JavaMail要付出更多的努力,但如果这就是你想要的,你当然可以做到。