【问题标题】:Reading Mails from Outlook Javamail从 Outlook Javamail 读取邮件
【发布时间】:2017-11-09 15:05:30
【问题描述】:

我正在尝试使用 javamail 从 Outlook 中读取电子邮件

这里是代码 sn-p。

try {
      Properties props = new Properties();        
      props.setProperty("mail.store.protocol", "imap");
      props.setProperty("mail.imaps.starttls.enable", "true");    
      props.setProperty("mail.imaps.host", "outlook.office365.com");
      props.setProperty("mail.imaps.port", "143");    
      Session mailSession = Session.getInstance(props); 
      mailSession.setDebug(true);
      Store mailStore = mailSession.getStore("imaps");
      mailStore.connect("outlook.office365.com", "<username>", "<password>");                     
  } catch (Exception ex){
      ex.printStackTrace();
  }

例外

javax.mail.MessagingException:无法识别的 SSL 消息,明文连接? 嵌套异常是: javax.net.ssl.SSLException:无法识别的 SSL 消息,明文连接? 在 com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:727)

任何指针表示赞赏。

【问题讨论】:

  • 143端口是明文端口,不能用于SSL。

标签: java email outlook jakarta-mail imap


【解决方案1】:

您的代码非常混乱。保持简单:

  Properties props = new Properties();        
  props.setProperty("mail.imap.ssl.enable", "true");     
  Session mailSession = Session.getInstance(props); 
  mailSession.setDebug(true);
  Store mailStore = mailSession.getStore("imap");
  mailStore.connect("outlook.office365.com", "<username>", "<password>");

使用“imap”协议,但告诉 JavaMail 启用 SSL。不用担心端口,JavaMail 知道该怎么做。更多详情见JavaMail FAQ

【讨论】:

  • 嗨,比尔,感谢您的回复,它工作得很好:)
  • 发布你的 cmets 我验证了 Session 的代码。你是对的。在代码内部,它明确定义了默认值。我们不需要供应。
【解决方案2】:

端口 143(您正在使用的)用于纯文本 IMAP(因此出现错误消息 plaintext connection?)。 IMAPS 使用端口 993,所以试试吧。

【讨论】:

    猜你喜欢
    • 2018-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-07
    • 2020-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多