用javamail连接到hotmail?

时间:2010-06-18 13:26:48

标签: java email java-ee javamail hotmail

我想知道是否可以使用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();

任何人都已经成功了吗?

2 个答案:

答案 0 :(得分:6)

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

因此,您需要以下设置:

  

pop3Props.setProperty( “mail.pop3.ssl.enable”,   “真”);

对于所有其他属性,您必须在属性字符串中添加“s”(因此它显示为“pop3s”而不是“pop3”):

  

pop3Props.setProperty( “mail.pop3s.socketFactory.class”,   SSL_FACTORY);   pop3Props.setProperty( “mail.pop3s.socketFactory.fallback”   “假”);   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);

答案 1 :(得分:1)

你可以尝试这个SourceForge project

MrPostman是一个电子邮件网关,从本地POP客户端,如Microsoft Outlook,Mozilla的邮件客户端等,到雅虎和Hotmail等不同的网络邮件服务。它的设计具有可扩展性,因此很容易为其添加更多的网络邮件服务。 / p>