我正在努力在我的电子邮件Id上发送我的消息数据。我创建了一个包含editText(用于emailId)和Button的mainActivity类。 另一个类是BroadcastReceiver类,我在其中检索数据。 现在我无法理解如何将这些数据发送到后台提供的电子邮件中。 我google了很多但无法得到所需的回复。 请分享想法并帮助我。
答案 0 :(得分:8)
我为此创建了开源库。用法非常简单:
BackgroundMail bm = new BackgroundMail(context);
bm.setGmailUserName("yourgmail@gmail.com");
bm.setGmailPassword("yourgmailpassword");
bm.setMailTo("receiver@gmail.com");
bm.setFormSubject("Subject");
bm.setFormBody("Body");
bm.send();
使用此权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
您可以在此处下载: https://github.com/kristijandraca/BackgroundMailLibrary
答案 1 :(得分:2)
在Android中,您可以使用明确的电子邮件意图发送电子邮件,但它会显示一个电子邮件屏幕,并且不允许在后台发送数据。
要在后台发送数据,您可以使用 java mail api 发送邮件。
看看这个http://www.tutorialspoint.com/java/java_sending_email.htm
答案 2 :(得分:-1)
这是使用显式电子邮件意图发送电子邮件的一种方式,但这不会在后台发送
Intent sendemai = new Intent(Intent.ACTION_SEND);
sendemai.putExtra(Intent.EXTRA_EMAIL,
new String[] { toaddress });
sendemai.putExtra(Intent.EXTRA_CC,
new String[] { emailadd });
sendemai.putExtra(Intent.EXTRA_SUBJECT, sub);
sendemai.putExtra(Intent.EXTRA_TEXT, body);
// need this to prompts email client only
sendemai.setType("message/rfc822");
startActivity(Intent.createChooser(payment_request,
"Select email application"));
如果您想要在后台发送,则需要提供一些用户安全凭据。See Here