Aspose.Email 및 Apache POI HSMF를 사용해 메시지 첨부 파일 추출
Contents
[
Hide
]
Aspose.Email - 메시지 첨부 파일 추출
기존 메시지의 첨부 파일을 저장하려면:
- MailMessage 클래스를 인스턴스화합니다.
- MailMessage 클래스의 load() 메서드를 사용하여 기존 이메일 메시지를 로드하고 올바른 MessageFormat을 지정합니다.
- AttachmentCollection 클래스를 인스턴스화하고 getAttachments() 메서드를 사용하여 MaiMessage 인스턴스에서 첨부 파일을 채웁니다.
- AttachmentCollection 컬렉션을 반복합니다.
- Attachment 클래스를 인스턴스화하고 get() 메서드를 사용하여 AttachmentCollection에서 인덱스된 값을 채웁니다.
- Attachment 클래스의 save() 메서드를 사용하여 첨부 파일을 디스크에 저장합니다.
Java
MailMessage message = MailMessage.load(dataDir + \"message.msg\");
System.out.println(\"Extracting attachments....\");
for (int i = 0; i < message.getAttachments().size(); i++)
{
Attachment att = (Attachment) message.getAttachments().get_Item(i);
System.out.println("Attachment Name: " + att.getName());
String attFileName = att.getName().replace(".eml", "").replace(":", " ").replace("\\", " ").replace("/", " ").replace("?", "");
// Save the attachment to disk
att.save(dataDir + attFileName);
}Apache POI HSMF - 메시지 첨부 파일 추출
AttachmentChunks 클래스를 사용하여 MAPIMessage의 첨부 파일에 접근할 수 있습니다.
Java
MAPIMessage msg = new MAPIMessage(dataDir + \"message.msg\");
AttachmentChunks[] attachments = msg.getAttachmentFiles();
if (attachments.length > 0)
{
File d = new File(dataDir + "attachments");
if (d.exists() || d.mkdir())
{
for (AttachmentChunks attachment : attachments)
{
String fileName = attachment.attachFileName.toString();
if (attachment.attachLongFileName != null)
{
fileName = attachment.attachLongFileName.toString();
}
File f = new File(d, fileName);
OutputStream fileOut = null;
try
{
fileOut = new FileOutputStream(f);
fileOut.write(attachment.attachData.getValue());
}
finally
{
if (fileOut != null)
{
fileOut.close();
}
}
}
}
}실행 코드 다운로드
샘플 코드 다운로드
자세한 내용은 방문하십시오 이메일 메시지에서 첨부 파일 관리.