Java Mail接收邮件连接超时异常

通过命令行telnet可以成功实现邮件的接收,但JavaMaik总是报连接超时的异常,代码如下:

 @Controller
public class ReceiveMailController {

    @RequestMapping(value ="/receiveMail", method = RequestMethod.GET) 
    public void receiveMail(HttpServletRequest request) throws MessagingException, IOException {
        String host = "pop3.sina.com";
        String port = "110";
        String userName = "******@sina.com";
        String password = "******";

        Properties p = System.getProperties();
        p.put("mail.store.protocol", "pop3");
        p.put("mail.pop3.host", host);
        p.put("mail.pop3.port", port);
        p.put("mail.pop3.auth", "true");//需要邮件服务器认证

        MailAuthenticator auth = new MailAuthenticator(userName, password);
        Session session = Session.getDefaultInstance(p, auth);

        try{
            Store store = session.getStore("pop3");
            store.connect(host, userName, password);

            Folder folder = store.getFolder("INBOX");
            folder.open(Folder.READ_ONLY);

            Message msg[] = folder.getMessages();

            //Integer msgCount = msg.length;
            for(int i = 0, msgCount = msg.length; i < msgCount; i++){
                System.out.println("第"+i+"封邮件主题:"+msg[i].getSubject());
            }

            folder.close(true);
            store.close();

            System.out.println("Email received successfully!");
        }catch(MessagingException e){
            e.printStackTrace();
        }
    }
}

异常:
com.sun.mail.util.MailConnectException: Couldn't connect to host, port: pop3.sina.com, 110; timeout -1;
nested exception is:
java.net.ConnectException: Connection timed out: connect
at com.sun.mail.pop3.POP3Store.protocolConnect(POP3Store.java:211)
at javax.mail.Service.connect(Service.java:364)
at javax.mail.Service.connect(Service.java:245)

哪位大神能帮忙解答一下。

是不是服务器验证没有通过

同求,楼主解决了吗?

Authenticator auth = new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(user, pwd);
}
};
Session session = Session.getDefaultInstance(props, auth);