Java 不幸的是,我的程序在单击“发送邮件”按钮时停止。我已经添加了三个jar文件和对internet的许可
一段时间以来,我一直在尝试使用android的java mail api发送电子邮件。我在互联网上尝试了几个代码,但当apk在移动设备上运行时,仍然会收到相同的错误消息,上面写着“appName不幸停止”。我是android新手,如果有人能在这个平台上帮助我,我会非常高兴。我也使用android studio作为我的IDE。谢谢你Java 不幸的是,我的程序在单击“发送邮件”按钮时停止。我已经添加了三个jar文件和对internet的许可,java,android,api,Java,Android,Api,一段时间以来,我一直在尝试使用android的java mail api发送电子邮件。我在互联网上尝试了几个代码,但当apk在移动设备上运行时,仍然会收到相同的错误消息,上面写着“appName不幸停止”。我是android新手,如果有人能在这个平台上帮助我,我会非常高兴。我也使用android studio作为我的IDE。谢谢你 下面是我的XML的代码 <?xml version="1.0" encoding="utf-8"?> <android.support.constr
下面是我的XML的代码
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.rollxreuben.mailing.MainActivity">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/btn"
android:text="Send Mail"
android:gravity="center_horizontal"
/>
</android.support.constraint.ConstraintLayout>
SendMail类:
private class SendMail extends AsyncTask<String, Void, String> {
private ProgressDialog progressDialog;
@Override
protected void onPreExecute() {
super.onPreExecute();
progressDialog = ProgressDialog.show(MainActivity.this, "Please wait", "Sending mail", true, false);
}
@Override
protected void onPostExecute(String aVoid) {
progressDialog.dismiss();
Toast.makeText(MainActivity.this, "Email was sent successfully.", Toast.LENGTH_LONG).show();
super.onPostExecute(aVoid);
}
protected String doInBackground(String... params) {
try {
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress("busben97@gmail.com"));
message.setRecipients(Message.RecipientType.TO,InternetAddress.parse("busben97@gmail.com"));
message.setSubject("Testing Mail");
message.setContent("Hello ","text/html; charset=utf-8");
Transport.send(message);
} catch(Exception e) {
Toast.makeText(MainActivity.this,e.toString(),Toast.LENGTH_LONG).show();
}
return null;
}
}
}
私有类SendMail扩展了异步任务{
私有进程对话;
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
progressDialog=progressDialog.show(MainActivity.this,“请稍候”,“发送邮件”,true,false);
}
@凌驾
受保护的void onPostExecute(字符串避免){
progressDialog.disclose();
Toast.makeText(MainActivity.this,“电子邮件已成功发送。”,Toast.LENGTH_LONG.show();
super.onPostExecute(避免);
}
受保护的字符串doInBackground(字符串…参数){
试一试{
Message Message=新的mimessage(会话);
message.setFrom(新的InternetAddress(“busben97@gmail.com"));
message.setRecipients(message.RecipientType.TO,InternetAddress.parse(“busben97@gmail.com"));
message.setSubject(“测试邮件”);
message.setContent(“Hello”,“text/html;charset=utf-8”);
传输。发送(消息);
}捕获(例外e){
Toast.makeText(MainActivity.this,e.toString(),Toast.LENGTH_LONG.show();
}
返回null;
}
}
}
最后,这是我的清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.rollxreuben.mailing">
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
//This is the log file
07-05 17:00:37.129 4376-4376/? I/art: Not late-enabling -Xcheck:jni (already on)
07-05 17:00:37.129 4376-4376/? W/art: Unexpected CPU variant for X86 using defaults: x86
07-05 17:00:38.381 4376-4376/com.example.rollxreuben.mailing W/System: ClassLoader referenced unknown path: /data/app/com.example.rollxreuben.mailing-2/lib/x86
07-05 17:00:38.389 4376-4376/com.example.rollxreuben.mailing I/InstantRun: starting instant run server: is main process
07-05 17:00:38.446 4376-4376/com.example.rollxreuben.mailing W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
07-05 17:00:39.785 4376-4402/com.example.rollxreuben.mailing I/OpenGLRenderer: Initialized EGL, version 1.4
07-05 17:00:39.785 4376-4402/com.example.rollxreuben.mailing D/OpenGLRenderer: Swap behavior 1
07-05 17:00:40.838 4376-4376/com.example.rollxreuben.mailing W/art: Before Android 4.1, method int android.support.v7.widget.ListViewCompat.lookForSelectablePosition(int, boolean) would have incorrectly overridden the package-private method in android.widget.ListView
07-05 17:00:40.848 4376-4376/com.example.rollxreuben.mailing I/Choreographer: Skipped 96 frames! The application may be doing too much work on its main thread.
07-05 17:00:44.293 4376-4376/com.example.rollxreuben.mailing I/Choreographer: Skipped 206 frames! The application may be doing too much work on its main thread.
07-05 17:01:17.648 4376-4939/com.example.rollxreuben.mailing W/art: Verification of java.lang.String javax.mail.internet.MimeUtility.encodeWord(java.lang.String, java.lang.String, java.lang.String, boolean) took 105.438ms
07-05 17:01:17.752 4376-4939/com.example.rollxreuben.mailing E/Exception: For input string: "smtp.gmail.com"
java.lang.NumberFormatException: For input string: "smtp.gmail.com"
at java.lang.Integer.parseInt(Integer.java:521)
at java.lang.Integer.parseInt(Integer.java:556)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:398)
at javax.mail.Service.connect(Service.java:310)
at javax.mail.Service.connect(Service.java:169)
at javax.mail.Service.connect(Service.java:118)
at javax.mail.Transport.send0(Transport.java:188)
at javax.mail.Transport.send(Transport.java:118)
at com.example.rollxreuben.mailing.MainActivity$SendMail.doInBackground(MainActivity.java:93)
at com.example.rollxreuben.mailing.MainActivity$SendMail.doInBackground(MainActivity.java:66)
at android.os.AsyncTask$2.call(AsyncTask.java:305)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
07-05 17:01:18.733 4376-4376/com.example.rollxreuben.mailing I/Choreographer: Skipped 71 frames! The application may be doing too much work on its main thread.
07-05 17:01:20.603 4376-4376/com.example.rollxreuben.mailing I/Choreographer: Skipped 111 frames! The application may be doing too much work on its main thread.
//这是日志文件
07-05 17:00:37.129 4376-4376/? I/art:未延迟启用-Xcheck:jni(已启用)
07-05 17:00:37.129 4376-4376/? W/art:X86的意外CPU变量使用默认值:X86
07-05 17:00:38.381 4376-4376/com.example.rollxrueben.mailing W/System:ClassLoader引用的未知路径:/data/app/com.example.rollxrueben.mailing-2/lib/x86
07-05 17:00:38.389 4376-4376/com.example.rollxrueben.mailing I/instanttrun:启动即时运行服务器:是主进程
07-05 17:00:38.446 4376-4376/com.example.rollxreuben.mailing W/art:Android 4.1之前的方法Android.graphics.porterduffclorfilter Android.support.graphics.dravable.VectorDrawableCompat.UpdatentFilter(Android.graphics.porterduffclorfilter,Android.content.res.ColorStateList,Android.graphics.PorterDuff$模式)将错误地重写android.graphics.drawable.drawable中的包私有方法
07-05 17:00:39.785 4376-4402/com.example.rollxrueben.mailing I/OpenGLRenderer:Initialized EGL,版本1.4
07-05 17:00:39.785 4376-4402/com.example.rollxrueben.mailing D/OpenGLRenderer:Swap行为1
07-05 17:00:40.838 4376-4376/com.example.rollxrueben.mailing W/art:Android 4.1之前,方法int-Android.support.v7.widget.ListViewCompat.lookForSelectablePosition(int,boolean)会错误地覆盖Android.widget.ListView中的包私有方法
07-05 17:00:40.848 4376-4376/com.example.rollxrueben.mailing I/编舞:跳过96帧!应用程序可能在其主线程上做了太多工作。
07-05 17:00:44.293 4376-4376/com.example.rollxrueben.mailing I/编舞:跳过了206帧!应用程序可能在其主线程上做了太多工作。
07-05 17:01:17.648 4376-4939/com.example.rollxrueben.mailing W/art:java.lang.String javax.mail.internet.MimeUtility.encodeWord(java.lang.String,java.lang.String,java.lang.String,boolean)的验证耗时105.438ms
07-05 17:01:17.752 4376-4939/com.example.rollxrueben.mailing E/Exception:输入字符串:“smtp.gmail.com”
java.lang.NumberFormatException:对于输入字符串:“smtp.gmail.com”
在java.lang.Integer.parseInt(Integer.java:521)处
在java.lang.Integer.parseInt(Integer.java:556)处
在com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:398)上
位于javax.mail.Service.connect(Service.java:310)
在javax.mail.Service.connect(Service.java:169)
在javax.mail.Service.connect(Service.java:118)
在javax.mail.Transport.send0(Transport.java:188)
在javax.mail.Transport.send(Transport.java:118)
位于com.example.rollxrueben.mailing.MainActivity$SendMail.doInBackground(MainActivity.java:93)
位于com.example.rollxrueben.mailing.MainActivity$SendMail.doInBackground(MainActivity.java:66)
位于android.os.AsyncTask$2.call(AsyncTask.java:305)
位于java.util.concurrent.FutureTask.run(FutureTask.java:237)
在android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.rollxreuben.mailing">
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
//This is the log file
07-05 17:00:37.129 4376-4376/? I/art: Not late-enabling -Xcheck:jni (already on)
07-05 17:00:37.129 4376-4376/? W/art: Unexpected CPU variant for X86 using defaults: x86
07-05 17:00:38.381 4376-4376/com.example.rollxreuben.mailing W/System: ClassLoader referenced unknown path: /data/app/com.example.rollxreuben.mailing-2/lib/x86
07-05 17:00:38.389 4376-4376/com.example.rollxreuben.mailing I/InstantRun: starting instant run server: is main process
07-05 17:00:38.446 4376-4376/com.example.rollxreuben.mailing W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
07-05 17:00:39.785 4376-4402/com.example.rollxreuben.mailing I/OpenGLRenderer: Initialized EGL, version 1.4
07-05 17:00:39.785 4376-4402/com.example.rollxreuben.mailing D/OpenGLRenderer: Swap behavior 1
07-05 17:00:40.838 4376-4376/com.example.rollxreuben.mailing W/art: Before Android 4.1, method int android.support.v7.widget.ListViewCompat.lookForSelectablePosition(int, boolean) would have incorrectly overridden the package-private method in android.widget.ListView
07-05 17:00:40.848 4376-4376/com.example.rollxreuben.mailing I/Choreographer: Skipped 96 frames! The application may be doing too much work on its main thread.
07-05 17:00:44.293 4376-4376/com.example.rollxreuben.mailing I/Choreographer: Skipped 206 frames! The application may be doing too much work on its main thread.
07-05 17:01:17.648 4376-4939/com.example.rollxreuben.mailing W/art: Verification of java.lang.String javax.mail.internet.MimeUtility.encodeWord(java.lang.String, java.lang.String, java.lang.String, boolean) took 105.438ms
07-05 17:01:17.752 4376-4939/com.example.rollxreuben.mailing E/Exception: For input string: "smtp.gmail.com"
java.lang.NumberFormatException: For input string: "smtp.gmail.com"
at java.lang.Integer.parseInt(Integer.java:521)
at java.lang.Integer.parseInt(Integer.java:556)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:398)
at javax.mail.Service.connect(Service.java:310)
at javax.mail.Service.connect(Service.java:169)
at javax.mail.Service.connect(Service.java:118)
at javax.mail.Transport.send0(Transport.java:188)
at javax.mail.Transport.send(Transport.java:118)
at com.example.rollxreuben.mailing.MainActivity$SendMail.doInBackground(MainActivity.java:93)
at com.example.rollxreuben.mailing.MainActivity$SendMail.doInBackground(MainActivity.java:66)
at android.os.AsyncTask$2.call(AsyncTask.java:305)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
07-05 17:01:18.733 4376-4376/com.example.rollxreuben.mailing I/Choreographer: Skipped 71 frames! The application may be doing too much work on its main thread.
07-05 17:01:20.603 4376-4376/com.example.rollxreuben.mailing I/Choreographer: Skipped 111 frames! The application may be doing too much work on its main thread.