【发布时间】:2014-05-02 14:06:57
【问题描述】:
我正在尝试 Android 上的 Javamail 通过 imap 阅读邮件。 这是我的代码,但它不起作用。它给出了错误 请求时间失败:java.net.SocketException:协议不支持地址族
请发布 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;
【问题讨论】:
-
您正在连接到 localhost 并在手机上运行。我怀疑你会在那里找到 IMAP 服务器。
-
我不认为是这种情况......因为发送电子邮件程序正在正常工作......
-
“发送邮件程序”是否也...connect("localhost", ...)?
标签: android sockets jakarta-mail imap gmail-imap