2

我想知道是否可以使用 JavaMail 连接到 Hotmail?

我试过了,但它不起作用,连接被拒绝......

    String host = "pop3.live.com";
    String username = "laqetqetqet@hotmail.com";
    String password = "rqetqetq";

    Session session;
    Store store;

    String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";

    Properties pop3Props = new Properties();

    pop3Props.setProperty("mail.pop3.socketFactory.class", SSL_FACTORY);
    pop3Props.setProperty("mail.pop3.socketFactory.fallback", "false");
    pop3Props.setProperty("mail.pop3.port",  "995");
    pop3Props.setProperty("mail.pop3.socketFactory.port", "995");

    URLName url = new URLName("pop3", host, 995, "", username, password);

    session = Session.getInstance(pop3Props, null);
    store = new POP3SSLStore(session, url);
    store.connect();

有人已经成功做到这一点了吗?

4

2 回答 2

6

Hotmail 现在支持 pop3(通过 SSL)。

因此,您需要以下设置:

pop3Props.setProperty("mail.pop3.ssl.enable", "true");

对于所有其他属性,您必须在属性字符串中添加一个“s”(所以它说“pop3s”而不是“pop3”):

pop3Props.setProperty("mail.pop3s.socketFactory.class", SSL_FACTORY); pop3Props.setProperty("mail.pop3s.socketFactory.fallback", "false"); pop3Props.setProperty("mail.pop3s.port", "995"); pop3Props.setProperty("mail.pop3s.socketFactory.port", "995");

对我来说,以下代码效果很好:

String host = "pop3.live.com";
String username = "laqetqetqet@hotmail.com";
String password = "rqetqetq";

Properties pop3Props = new Properties();
pop3Props.setProperty("mail.pop3s.port",  "995");

Session session = Session.getInstance(pop3Props, null);
Store store = session.getStore("pop3s");
store.connect(host, 995, username, password);
于 2011-01-09T15:27:51.487 回答
1

你可以试试这个SourceForge 项目

MrPostman 是一个从本地 POP 客户端(如 Microsoft Outlook、Mozilla 的邮件客户端等)到不同的 Web 邮件服务(如 Yahoo 和 Hotmail)的电子邮件网关。它的设计是为了可扩展性,因此很容易向其中添加更多的 Web 邮件服务。

于 2010-06-19T23:42:01.350 回答