用javamail连接到hotmail?

Seb*_*ber 2 java email jakarta-mail hotmail java-ee

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

有人已经成功做到了吗?

Tim*_*imo 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);
Run Code Online (Sandbox Code Playgroud)