2014-03-24 56 views
0

我想在Android上的Javamail通过imap阅读邮件。 这是我的代码,但它不起作用。它提供了错误 请求时失败:java.net.SocketException异常:没有协议Javamail Android:似乎无法连接

支持地址族PLZ张贴工作代码为Android的JavaMail会话的imap

public void onClick(View v) { 
    // TODO Auto-generated method stub 
    Log.d("Click","Click"); 
    new read().execute(); 

} 
public class read extends AsyncTask<Void, Void, Void> 
{ 


    @Override 
    protected Void doInBackground(Void... params) { 

     String url = null; 
      String protocol = "imap"; 
      String host = "localhost"; 
      String user = "user"; 
      String password = "passowrd"; 

      try { 
      // Get a Properties object 
      Properties props = System.getProperties(); 

      // Get a Session object 
      Session session = Session.getInstance(props, null); 

      // Get a Store object 
      Store store = null; 
      if (url != null) { 
      URLName urln = new URLName(url); 
      store = session.getStore(urln); 
      store.connect(); 
      } else { 
      if (protocol != null) 
      store = session.getStore(protocol); 
      else 
      store = session.getStore(); 

      // Connect 
      if (host != null || user != null || password != null) 
      store.connect(host, user, password); 
      else 
      store.connect(); 
      } 

      // Open the Folder 
      String mbox = "INBOX"; 
      Folder folder = store.getDefaultFolder(); 
      if (folder == null) { 
      System.out.println("No default folder"); 
      System.exit(1); 
      } 

      folder = folder.getFolder(mbox); 
      Message[] messages = folder.getMessages(); 
      Log.v("unread", ""+folder.getUnreadMessageCount()); 

} 
      catch (Exception e) { 
      // TODO: handle exception 
     } 
      return null; 
+0

您正在连接到本地主机并在手机上运行。我怀疑你会在那里找到一个IMAP服务器。 – arnt

+0

我不认为这样的情况...因为发送电子邮件程序没有任何问题.. – user3423795

+0

“发送电子邮件程序”也做...连接(“本地主机”,...)? – arnt

回答

0

佑,这是不应该的!您是否尝试连接到仅支持IPv4的设备上的IPv6主机,反之亦然?如果打开JavaMail会话调试,调试输出会显示什么内容?