无法连接到我的邮件服务器(java)

时间:2011-03-08 08:52:54

标签: java email

public class ConnectGmail {

  public static void main(String args[]) throws Exception {


    PasswordAuthentication authentication;

    Properties props = System.getProperties();
    props.setProperty("mail.store.protocol", "imap");

    Session session = Session.getDefaultInstance(props);
    Store store = session.getStore("imap");

    try {

      store.connect(host , user , "password");
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}

得到了这个错误..我几乎尝试了所有的协议

javax.mail.MessagingException: Connection refused: connect;
  nested exception is:
    java.net.ConnectException: Connection refused: connect
    at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:571)
    at javax.mail.Service.connect(Service.java:288)
    at javax.mail.Service.connect(Service.java:169)
    at ConnectGmail.main(ConnectGmail.java:26)

任何帮助??

2 个答案:

答案 0 :(得分:1)

您需要启用邮件身份验证才能使用它:

将属性mail.smtp.auth设置为true以进行身份​​验证。

  

如果为true,请尝试使用AUTH命令对用户进行身份验证。默认为false。

@see包com.sun.mail.smtp的Javadoc

答案 1 :(得分:0)

您的ISP是否允许您连接到该端口?

你需要通过代理吗?

尝试使用简单的telnet <host> <port>命令打开与正确端口的邮件服务器的直接连接。如果你不能,那么你的连接不会失败,那是你的ISP不允许它。如果可以,请检查您是否使用特定代理选项并将其添加到程序中。