Используя ссылку это, я не мог понять, как получать входящие письма с вложениями. Например, на почту [email protected] приходит письмо, к которому прикреплен файл baz.csv. Как читать содержимое файла?
Спасибо.
Используя почтовую платформу Java, вы можете получать вложения к электронному письму:
Multipart multipart = (Multipart) message.getContent();
List<byte[]> attachments = new ArrayList<>();
for (int i = 0; i < multipart.getCount(); i++) {
BodyPart bodyPart = multipart.getBodyPart(i);
if (Part.ATTACHMENT.equalsIgnoreCase(bodyPart.getDisposition()) && bodyPart.getFileName()!=null) {
InputStream is = bodyPart.getInputStream();
ByteArrayOutputStream os = new ByteArrayOutputStream();
byte[] buf = new byte[4096];
int bytesRead;
while ((bytesRead = is.read(buf)) != -1) {
os.write(buf, 0, bytesRead);
}
os.close();
attachments.add(os.toByteArray());
}
}
message - это объект типа javax.mail.Message.
Теперь у вас есть список байтов [], каждый из которых является одним из ваших почтовых вложений. Вы можете легко преобразовать byte [] в File.
Это другой вопрос! В этой теме вы можете найти свой ответ. stackoverflow.com/questions/61176/…
Спасибо. Как получить
message, указанный в вашем коде?