java在Android中使用JavaMail API发送电子邮件,而不使用默认/内置应用程序
我正在尝试用Android创建一个邮件发送应用程序
如果我使用:
Intent emailIntent = new Intent(安卓.content.Intent.ACTION_SEND);
这将启动内置的Android应用程序;我正在尝试在不使用此应用程序的情况下直接单击按钮发送邮件
你可以在下面搜索框中键入要查询的问题!
我正在尝试用Android创建一个邮件发送应用程序
如果我使用:
Intent emailIntent = new Intent(安卓.content.Intent.ACTION_SEND);
这将启动内置的Android应用程序;我正在尝试在不使用此应用程序的情况下直接单击按钮发送邮件
# 1 楼答案
感谢您提供的宝贵信息。代码运行良好。我可以通过添加以下代码来添加附件
# 2 楼答案
您可以使用JavaMail API来处理电子邮件任务。JavaMail API在JavaEE包中提供,其jar可供下载。不幸的是,它不能直接在Android应用程序中使用,因为它使用的AWT组件在Android中完全不兼容
您可以在以下位置找到JavaMail的Android端口: http://code.google.com/p/javamail-android/
将JAR添加到应用程序并使用SMTP方法
# 3 楼答案
100%使用演示代码,您还可以使用此答案发送多封电子邮件强>
下载项目HERE
步骤1:下载邮件、激活、其他jar文件,并添加到android studio中的项目库文件夹中。我添加了一个屏幕截图,请参见下面的Download link
使用gmail登录(使用您的from mail)并打开切换按钮LINK
大多数人都忘记了这一步,我希望你不会忘记
步骤2:完成此过程后。将这些类复制并通过到项目中
GMail。java
SendMailTask。java
第三步: 现在,您可以根据需要更改该类,也可以使用该类发送多封邮件。我同时提供xml和java文件
主要活动。xml
发送邮件活动。java
注意别忘了在您的AndroidManifest中添加互联网权限。xml文件
<uses-permission android:name="android.permission.INTERNET"/>
希望它的工作,如果不是那么只是评论下面
# 4 楼答案
为了帮助那些在主线程上获得网络异常的人,SDK目标>;9.这是使用上面droopie的代码,但对任何应用程序都会起到类似的作用
您可以使用AsyncTask,如下所示
# 5 楼答案
在清单中添加此行:
# 6 楼答案
使用Gmail身份验证,使用JavaMail API在Android中发送电子邮件
创建示例项目的步骤:
邮件发送活动。java:
GMailSender。java:
JSSEProvider。java:
将以下链接中的3个JAR添加到您的Android项目中
Click here - How to add External Jars
别忘了在您的清单中添加这一行:
只需单击下面的链接即可更改安全性较差的应用程序的帐户访问权限 https://www.google.com/settings/security/lesssecureapps
运行项目并检查收件人邮件帐户中的邮件。 干杯
另外,别忘了,你不能在安卓系统的任何活动中进行网络操作。 因此,建议使用
AsyncTask
或IntentService
来避免主线程上的网络异常Jar文件:https://code.google.com/archive/p/javamail-android/