java - Not able to send Email using javax in android app -


i using following code send e-mail:

 properties props = new properties();        props.put("mail.smtp.host", "smtp.gmail.com");        props.put("mail.smtp.socketfactory.port", "465");        props.put("mail.smtp.socketfactory.class",                "javax.net.ssl.sslsocketfactory");        props.put("mail.smtp.auth", "true");        props.put("mail.smtp.port", "465");         session session = session.getdefaultinstance(props,                new javax.mail.authenticator() {                    protected passwordauthentication getpasswordauthentication() {                        return new passwordauthentication("sender@gmail.com","123456");                    }                });         try {             message message = new mimemessage(session);            message.setfrom(new internetaddress("sender@gmail.com"));            message.setrecipients(message.recipienttype.to,                    internetaddress.parse("reciever@gmail.com"));            message.setsubject("testing subject");            message.settext("dear mail crawler," +                    "\n\n no spam email, please!");             transport.send(message);             system.out.println("done");         } catch (messagingexception e) {            throw new runtimeexception(e);        } 

i have required .jar android project. no exception there didn't email.

logcat of android:

04-16 23:40:08.972  18170-18170/com.coderwall.executer w/system.err﹕    android.os.networkonmainthreadexception 04-16 23:40:08.972  18170-18170/com.coderwall.executer w/system.err﹕ @ android.os.strictmode$androidblockguardpolicy.onnetwork(strictmode.java:1126) 04-16 23:40:08.972  18170-18170/com.coderwall.executer w/system.err﹕ @ java.net.inetaddress.lookuphostbyname(inetaddress.java:385) 04-16 23:40:08.972  18170-18170/com.coderwall.executer w/system.err﹕ @ java.net.inetaddress.getlocalhost(inetaddress.java:365) 04-16 23:40:08.972  18170-18170/com.coderwall.executer w/system.err﹕ @ javax.mail.internet.internetaddress.getlocalhostname(internetaddress.java:563) 04-16 23:40:08.972  18170-18170/com.coderwall.executer w/system.err﹕ @ javax.mail.internet.internetaddress._getlocaladdress(internetaddress.java:542) 04-16 23:40:08.982  18170-18170/com.coderwall.executer w/system.err﹕ @ javax.mail.internet.internetaddress.getlocaladdress(internetaddress.java:513) 04-16 23:40:08.982  18170-18170/com.coderwall.executer w/system.err﹕ @ javax.mail.internet.uniquevalue.getuniquemessageidvalue(uniquevalue.java:99) 04-16 23:40:08.982  18170-18170/com.coderwall.executer w/system.err﹕ @    javax.mail.internet.mimemessage.updatemessageid(mimemessage.java:2152) 04-16 23:40:08.982  18170-18170/com.coderwall.executer w/system.err﹕ @ javax.mail.internet.mimemessage.updateheaders(mimemessage.java:2181) 04-16 23:40:08.982  18170-18170/com.coderwall.executer w/system.err﹕ @ javax.mail.internet.mimemessage.savechanges(mimemessage.java:2141) 04-16 23:40:08.982  18170-18170/com.coderwall.executer w/system.err﹕ @ javax.mail.transport.send(transport.java:123) 04-16 23:40:08.982  18170-18170/com.coderwall.executer w/system.err﹕ @ com.coderwall.executer.mainactivity.getcomputation(mainactivity.java:275) 04-16 23:40:08.982  18170-18170/com.coderwall.executer w/system.err﹕ @ com.coderwall.executer.mainactivity$1$1$2.run(mainactivity.java:90) 04-16 23:40:08.982  18170-18170/com.coderwall.executer w/system.err﹕ @ com.coderwall.executer.mainactivity$1$1.onpostexecute(mainactivity.java:109) 04-16 23:40:08.982  18170-18170/com.coderwall.executer w/system.err﹕ @ c  com.coderwall.executer.mainactivity$1$1.onpostexecute(mainactivity.java:61) 04-16 23:40:08.992  18170-18170/com.coderwall.executer w/system.err﹕ @ android.os.asynctask.finish(asynctask.java:631) 04-16 23:40:08.992  18170-18170/com.coderwall.executer w/system.err﹕ @ android.os.asynctask.access$600(asynctask.java:177) 04-16 23:40:08.992  18170-18170/com.coderwall.executer w/system.err﹕ @ android.os.asynctask$internalhandler.handlemessage(asynctask.java:644) 04-16 23:40:08.992  18170-18170/com.coderwall.executer w/system.err﹕ @ android.os.handler.dispatchmessage(handler.java:99) 04-16 23:40:08.992  18170-18170/com.coderwall.executer w/system.err﹕ @ android.os.looper.loop(looper.java:137) 04-16 23:40:08.992  18170-18170/com.coderwall.executer w/system.err﹕ @ android.app.activitythread.main(activitythread.java:4744) 04-16 23:40:08.992  18170-18170/com.coderwall.executer w/system.err﹕ @ java.lang.reflect.method.invokenative(native method) 04-16 23:40:08.992  18170-18170/com.coderwall.executer w/system.err﹕ @ java.lang.reflect.method.invoke(method.java:511) 04-16 23:40:08.992  18170-18170/com.coderwall.executer w/system.err﹕ @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:786) 04-16 23:40:09.002  18170-18170/com.coderwall.executer w/system.err﹕ @ com.android.internal.os.zygoteinit.main(zygoteinit.java:553) 04-16 23:40:09.002  18170-18170/com.coderwall.executer w/system.err﹕ @ dalvik.system.nativestart.main(native method) 

what missing here?

i have added following line in androidmanifest.xml:

<intent-filter>      <action android:name="android.intent.action.main" />      <uses-permission android:name="android.permission.internet"/>      <category android:name="android.intent.category.launcher" /> </intent-filter> 

you can't make network request in main thread. inside separate thread:

new thread(new runnable(){   public void run(){     //...your code   } }).start(); 

or use asynctask:http://developer.android.com/reference/android/os/asynctask.html


Comments

Popular posts from this blog

javascript - jquery or ashx not working -

opencv - DataType<cv::detail::deriv_type>::depth what is it used for -

python 3.x - Mapping specific letters onto a list of words -