JavaMail - 첨부파일 읽기
...
if (message.isMimeType("multipart/*")) {
Multipart context = (Multipart) content;
int count = context.getCount();
for (int i = 0; i < count; i++) {
// sub mailMessage mapping
Part part = ((Multipart) content).getBodyPart(i);
...
readFile(submm, part);
mm.addMailmessage(submm);
}
}
...
if (message.isMimeType("multipart/*")) {
Multipart context = (Multipart) content;
int count = context.getCount();
for (int i = 0; i < count; i++) {
// sub mailMessage mapping
Part part = ((Multipart) content).getBodyPart(i);
...
readFile(submm, part);
mm.addMailmessage(submm);
}
}
...
private void readFile(MailMessage submm, Part p) throws MessagingException, IOException {
String filename = p.getFileName();
File file = null;
if (filename != null) {
InputStream in = p.getInputStream();
FileOutputStream fout = new FileOutputStream(new File(filename));
int c = in.read();
while (c != -1) {
fout.write(c);
c = in.read();
}
fout.close();
in.close();
}
submm.setFilename(filename);
}
파일럿 삼아서 대강 작성한 코드입니다. 저런 코드를 그대로 쓰시면 안되겠죠. 첨부파일을 inputStream으로 읽어서 특정 폴더로 다시 FileOutputStream으로 복사해주는 코드가 필요하네요.