Я хотел бы ответить на электронное письмо и мое содержимое в виде строки, чтобы показать его на моей странице JSF ...
Но я получил только следующее из моей функции (String getMessageContent):
javax.mail.internet.MimeMultipart@48bb9483
Вот мой код для ответа на электронную почту:
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;
}
Примечание:
EmailSetting -> Включает информацию для подключения к провайдеру (имя пользователя, пароль и т. Д.)
EmailHelperClass включает в себя:
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>();
А вот мой код для возврата контента:
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 "";