【问题标题】:How Read Email With Tables Java Code?如何使用表格 Java 代码阅读电子邮件?
【发布时间】:2018-01-11 14:42:48
【问题描述】:

我正在尝试使用以下 java 代码从 Outlook 读取电子邮件正文。如果电子邮件包含表格,我如何正确阅读? 使用的代码是

  // Methods to get Email message content.
  private String getTextFromMessage(Message message) throws Exception {
    String result = "";
    if (message.isMimeType("text/plain")) {
      result = message.getContent().toString();
    } else if (message.isMimeType("multipart/*")) {
      MimeMultipart mimeMultipart = (MimeMultipart)message.getContent();
      result = getTextFromMimeMultipart(mimeMultipart);
    }
    result = removeHyperTextContent(result);
    return result;
  }

  private String getTextFromMimeMultipart(MimeMultipart mimeMultipart) throws Exception
  {
    String result = "";
    int count = mimeMultipart.getCount();
    for (int i = 0; i < count; i++) {
      BodyPart bodyPart = mimeMultipart.getBodyPart(i);
      if (bodyPart.isMimeType("text/plain")) {
        result = result + "\n" + bodyPart. getContent();
        break; }
      if (bodyPart.isMimeType("text/html")) {
        String html = (String)bodyPart.getContent();
        result = result + "\n" + html;
      } else if ((bodyPart.getContent() instanceof MimeMultipart)) {
        result = result + getTextFromMimeMultipart((MimeMultipart)bodyPart.getContent());
        break; //This is added to break after recursive call, otherwise it fetches the content from next MultiPart.
      }
    }
    result = removeHyperTextContent(result);
    return result;
  }

1. Body of original body text 2 . Out put string I got

【问题讨论】:

  • 问题中不清楚您正在寻找什么输出。看起来您正在获得表格的确切输出。如果您将电子邮件作为字符串输出,那就太好了。
  • 。感谢您的回复。我想在浏览器上向用户显示整个消息。我怎样才能做到这一点?提前谢谢..

标签: java email jakarta-mail mime-types


【解决方案1】:

首先,此 JavaMail 常见问题解答条目将帮助您在电子邮件中找到 main message body

在您的代码中,您更喜欢 text/plain 内容而不是 text/html 内容。表格在文本/纯文本内容中的格式可能不是很好,但这取决于所使用的邮件程序。 text/html 内容将包含有关表格的所有信息,但您需要能够解析 html 的内容才能以您可以使用的形式提取表格信息。

我不清楚您在提取表格后要对它做什么。如果您在浏览器中将结果显示为 html,那么拥有原始 html 表格可能正是您所需要的。

【讨论】:

    猜你喜欢
    • 2015-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-11
    • 2011-12-04
    • 2014-05-13
    • 2015-10-20
    • 1970-01-01
    相关资源
    最近更新 更多