Я использую этот код для чтения строки электронной почты в формате S / Mime в сертифицированном электронном письме.Это фрагмент
InputStream inputStreamObj = new ByteArrayInputStream(message.getBytes());
MimeMessage mimeMessageObj = new MimeMessage(session, inputStreamObj);
Object content = mimeMessageObj.getContent();
if (content instanceof Multipart) {
Multipart multiPart = (Multipart)content;
for (int i = 0; i < multiPart.getCount(); i++) {
BodyPart part = (MimeBodyPart) multiPart.getBodyPart(i);
if (part.getFileName() != null) {
System.out.println("Filename:"+part.getFileName());
} else if (part.getContent() instanceof Multipart) {
System.out.println("Multipart");
//here there is a recursive call to this method
} else if (part.getContent() instanceof String) {
System.out.println("Message text: "+part.getContent());
} else {
System.out.println("NOT RECOGNIZED TYPE");
}
}
}
Таким образом, я вижу:
Message text: <message in html form>
Message text: <message in txt form>
File: daticert.xml
File: postacert.eml
Но здесь отсутствует файл "smime.p7s"
Как я могу найти это?В строковом сообщении (сообщении) я вижу его:
Content-Type: application/x-pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Где находится файл ???
Может быть, я не могу использовать MimeMessage, и я должен использовать javax.mail.Message?И как я могу конвертировать текст в сообщении?