Hallo,
ich möchte auf eine Email antworten und anschließend den Content ausgeben.
Allerdings bekomme ich nichts gescheites zurück, sondern nur das hier:
javax.mail.internet.MimeMultipart@48bb9483
Hier meine Methoden dazu;
Methode um zu antworten:
- In EmailSetting werden die Daten für den Provder übergeben (Username etc.)
- EmailHelperClass besteht aus:
private String from;
private String[] to;
private String[] cc;
private String[] bcc;
private List<String> toList;
private List<String> ccList;
private List<String> bccList;
private String subject;
private String text;
private String mimeType;
private List<EmailAttachment> attachments = new ArrayList<EmailAttachment>();
Email als String ausgeben:
ich bekomme aber nur das zurück:
javax.mail.internet.MimeMultipart@48bb9483
Kann mir bitte jemand helfen
ich möchte auf eine Email antworten und anschließend den Content ausgeben.
Allerdings bekomme ich nichts gescheites zurück, sondern nur das hier:
javax.mail.internet.MimeMultipart@48bb9483
Hier meine Methoden dazu;
Methode um zu antworten:
- In EmailSetting werden die Daten für den Provder übergeben (Username etc.)
- EmailHelperClass besteht aus:
private String from;
private String[] to;
private String[] cc;
private String[] bcc;
private List<String> toList;
private List<String> ccList;
private List<String> bccList;
private String subject;
private String text;
private String mimeType;
private List<EmailAttachment> attachments = new ArrayList<EmailAttachment>();
Code:
public EmailHelperClass answerEmail(Message message, EmailSetting emailSetting) throws MessagingException, IOException {
Message newReplyMessage = message.reply(true);
EmailHelperClass email = new EmailHelperClass();
// FROM
email.setFrom(emailSetting.getSendAddress());
// TO
Address[] froms = message.getFrom();
String from = froms == null ? null : ((InternetAddress) froms[0]).getAddress();
List<String> toList = new ArrayList<String>();
toList.add(from);
email.setToList(toList);
email.setMimeType("text/html");
email.setSubject("RE: " + newReplyMessage.getSubject());
// Create your new message part
BodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setText("Oiginal message:nn");
// Create a multi-part to combine the parts
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
// Create and fill part for the forwarded content
messageBodyPart = new MimeBodyPart();
messageBodyPart.setDataHandler(message.getDataHandler());
// Add part to multi part
multipart.addBodyPart(messageBodyPart);
// Associate multi-part with message
newReplyMessage.setContent(multipart);
email.setText(emailReaderServiceBean.getMessageContent(newReplyMessage));
return email;
}
Email als String ausgeben:
Code:
public String getMessageContent(Message message) throws MessagingException, IOException {
if (message == null)
return "";
try {
Object content = message.getContent();
if (content instanceof Multipart) {
StringBuffer messageContent = new StringBuffer();
Multipart multipart = (Multipart) content;
for (int i = 0; i < multipart.getCount(); i++) {
BodyPart p = multipart.getBodyPart(i);
if (p.isMimeType("text/plain")) {
// messageContent.append(p.getContent().toString());
messageContent = new StringBuffer(p.getContent().toString());
}
if (p.isMimeType("text/html")) {
// messageContent.append(p.getContent().toString());
messageContent = new StringBuffer(p.getContent().toString());
}
}
return messageContent.toString();
}
return content.toString();
} catch (IOException e) {
} catch (Exception e) {
}
return "";
}
ich bekomme aber nur das zurück:
javax.mail.internet.MimeMultipart@48bb9483
Kann mir bitte jemand helfen