2012-01-13 88 views
0

發送郵件時,我在登錄貓上遇到以下異常。無法通過模擬器發送郵件

01-13 14:32:36.559: DEBUG/SntpClient(68): request time failed: java.net.SocketException: Address family not supported by protocol 
01-13 14:34:41.831: WARN/System.err(1753): javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465; 
01-13 14:34:41.831: WARN/System.err(1753): nested exception is: 
01-13 14:34:41.839: WARN/System.err(1753):  java.net.SocketTimeoutException: Connection timed out 
01-13 14:34:41.839: WARN/System.err(1753):  at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1391) 
01-13 14:34:41.839: WARN/System.err(1753):  at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:412) 
01-13 14:34:41.849: WARN/System.err(1753):  at javax.mail.Service.connect(Service.java:288) 
01-13 14:34:41.849: WARN/System.err(1753):  at javax.mail.Service.connect(Service.java:169) 
01-13 14:34:41.849: WARN/System.err(1753):  at javax.mail.Service.connect(Service.java:118) 
01-13 14:34:41.849: WARN/System.err(1753):  at javax.mail.Transport.send0(Transport.java:188) 
01-13 14:34:41.859: WARN/System.err(1753):  at javax.mail.Transport.send(Transport.java:118) 
01-13 14:34:41.859: WARN/System.err(1753):  at com.enthrall.GMailSender.sendMail(GMailSender.java:75) 
01-13 14:34:41.859: WARN/System.err(1753):  at com.enthrall.MailSenderActivityActivity$1.onClick(MailSenderActivityActivity.java:24) 
01-13 14:34:41.869: WARN/System.err(1753):  at android.view.View.performClick(View.java:2485) 
01-13 14:34:41.869: WARN/System.err(1753):  at android.view.View$PerformClick.run(View.java:9080) 
01-13 14:34:41.869: WARN/System.err(1753):  at android.os.Handler.handleCallback(Handler.java:587) 
01-13 14:34:41.869: WARN/System.err(1753):  at android.os.Handler.dispatchMessage(Handler.java:92) 
01-13 14:34:41.869: WARN/System.err(1753):  at android.os.Looper.loop(Looper.java:123) 
01-13 14:34:41.879: WARN/System.err(1753):  at android.app.ActivityThread.main(ActivityThread.java:3647) 
01-13 14:34:41.879: WARN/System.err(1753):  at java.lang.reflect.Method.invokeNative(Native Method) 
01-13 14:34:41.879: WARN/System.err(1753):  at java.lang.reflect.Method.invoke(Method.java:507) 
01-13 14:34:41.879: WARN/System.err(1753):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
01-13 14:34:41.879: WARN/System.err(1753):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
01-13 14:34:41.899: WARN/System.err(1753):  at dalvik.system.NativeStart.main(Native Method) 
01-13 14:34:41.899: WARN/System.err(1753): Caused by: java.net.SocketTimeoutException: Connection timed out 
01-13 14:34:41.899: WARN/System.err(1753):  at org.apache.harmony.luni.platform.OSNetworkSystem.connect(Native Method) 
01-13 14:34:41.909: WARN/System.err(1753):  at dalvik.system.BlockGuard$WrappedNetworkSystem.connect(BlockGuard.java:357) 
01-13 14:34:41.909: WARN/System.err(1753):  at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:204) 
01-13 14:34:41.909: WARN/System.err(1753):  at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:437) 
01-13 14:34:41.909: WARN/System.err(1753):  at java.net.Socket.connect(Socket.java:983) 
01-13 14:34:41.919: WARN/System.err(1753):  at java.net.Socket.connect(Socket.java:926) 
01-13 14:34:41.919: WARN/System.err(1753):  at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:233) 
01-13 14:34:41.919: WARN/System.err(1753):  at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:163) 
01-13 14:34:41.919: WARN/System.err(1753):  at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1359) 
01-13 14:34:41.919: WARN/System.err(1753):  ... 19 more 
01-13 14:37:36.589: DEBUG/SntpClient(68): request time failed: java.net.SocketException: Address family not supported by protocol 
01-13 14:41:02.749: INFO/dalvikvm(68): Jit: resizing JitTable from 4096 to 8192 

這是我設置的屬性,我也提到了清單文件中的Internet權限。什麼sholud我改變,使郵件可以通過模擬器發送

Properties props = new Properties();  
    props.setProperty("mail.transport.protocol", "smtp");  
    props.setProperty("mail.host", mailhost);  
    //props.put("mail.smtp.auth", "true");  
    props.put("mail.smtp.port", "465"); 

    props.put("mail.smtp.socketFactory.port", "465");  
    props.put("mail.smtp.socketFactory.class",  
      "javax.net.ssl.SSLSocketFactory");  
    props.put("mail.smtp.socketFactory.fallback", "false");  
    props.setProperty("mail.smtp.quitwait", "false");  

    session = Session.getDefaultInstance(props, this);  
+0

此鏈接可以幫助你(如果你還沒有refred)http://stackoverflow.com/questions/5042487/why-cannot-an-emulator-send-email-in-android – kosa 2012-01-13 09:43:20

回答

0

你給你的應用程序的Internet權限?

android.permission.INTERNET 
+0

是的,我已經在清單文件中寫入android.permission.INTERNET.Still它給出相同的例外.. :( – user1004987 2012-01-13 10:06:05