Как я могу показать составное HTML-сообщение электронной почты в JEditorPane? - PullRequest
1 голос
/ 26 июля 2011

Ниже приведен фрагмент, который я использую для извлечения и отображения электронных писем.

String email = "";
jEditorPane1.setContentType("text/html");

for( int i=0 ; i<msgs.length ; i++ ) {
    senSub +=  InternetAddress.toString(msgs[i].getFrom()) + "\n" + msgs[i].getSubject() + "\n" + "\n";
    Object o = msgs[i].getContent();
    if( o instanceof String) {
        email += o.toString();
        System.out.println("FIRST IF");
    }  else if( o instanceof Multipart ) {
        Multipart mp = (Multipart)o;
        int bodyParts = mp.getCount();
        System.out.println("BODY PARTS---->" + bodyParts ); // There are 2 body parts
            for(int j = 0 ; j < bodyParts ; j++) {
                BodyPart bodyPart = mp.getBodyPart(j);
                Object o2 = bodyPart.getContent();
                  if( o2 instanceof String ) {
                      email += "--THIS IS THE " + j +  " BODY PART" + "-- " + o2.toString() + "--THIS IS THE END OF FIRST PART--"; 
                  } else if( o2 instanceof Multipart ) {
                      Multipart mp2 = (Multipart)o2;
                      System.out.println("NESTED MULTIPART");
                      int count2 = mp2.getCount();
                        for(int k = 0 ; k < count2 ; k++) {
                            BodyPart bodyPart1 = mp2.getBodyPart(k);
                        }
                  }
            }
    }
}

Font font = new Font("Trebuchet MS" , Font.BOLD , 15);
jTextArea6.setFont(font);
status = false;
jTextArea6.setText(senSub);
jEditorPane1.setText(email); // set the email on the editor pane

Но он показывает странное поведение.

Вот вывод: (в2 части)

enter image description here часть 2

enter image description here

А вот и оригинальное письмо : enter image description here

Позвольте мне объяснить вывод.В first body part (из нескольких сообщений) вставляются plain message + links of images. Во второй части вставляются изображения в исходном письме.С линией Дни нуждающихся ..... везде повторяются дважды.И вторая часть никогда не кончается.Почему это так?

В моем почтовом ящике 7 сообщений, но отображается только 1 электронная почта, без сомнения, код, который получает электронную почту, ошибочен. Но я не могу понять, гдеэто неверно._ Позвольте мне сказать вам, что я получаю правильные результаты, соответствующие утверждению

senSub += InternetAddress.toString(msgs[i].getFrom()) + "\n" + msgs[i].getSubject() + "\n"; результат - 7 предметов и 7 отправителей

Пожалуйста, скажите, что не такс кодом. Я хочу, чтобы ссылки вставлялись как ссылки, текст вставлялся как текст, изображения вставлялись как изображения, а не случайно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...