문제

Javamail을 사용하여 첨부 파일이있는 EML 파일을 만들겠습니다.

간단한 EML 파일을 성공적으로 만들었지 만 첨부 파일을 추가하는 것은 제대로 작동하지 않습니다. PDF 파일을 추가하겠습니다. 내 EML 파일이 성공적으로 생성됩니다. Outlook으로 생성 된 EML 파일을 열면 PDF 파일을 첨부 파일로 찾지 않지만 EML 파일 자체를 첨부 파일로 찾을 수 있습니다. 누구든지 아이디어가 있습니까?

나는 두 가지 변형을 시도했는데 (같은 결과를 가진) FileDataSource 수업과 간단한 방법 MimeBodyPart#attachFile(File).

예를 게시하겠습니다.

File pdfFile = new File("somePdfFile");

Properties p = System.getProperties();
Session session = Session.getInstance(p);
MimeMessage message = new MimeMessage(session);
// MimeBodyPart txt = new MimeBodyPart();
// txt.setText("");
MimeBodyPart mbp = new MimeBodyPart();
mbp.attachFile(attachment);
// FileDataSource fds = new FileDataSource(attachment);
// fds.setFileTypeMap(new FileTypeMap() {
//    
//   @Override
//   public String getContentType(String arg0) {
//     return "application/pdf";
//   }
//    
//    @Override
//    public String getContentType(File file) {
//      return "application/pdf";
//    }
//      
//  });
//  mbp.setDataHandler(new DataHandler(fds));
//  mbp.setFileName("\"" + attachment.getName() + "\"");
//  mbp.setDisposition(MimePart.ATTACHMENT);
//  mbp.setHeader("Content-ID", "Attachment");
Multipart mp = new MimeMultipart();
//  mp.addBodyPart(txt);
mp.addBodyPart(mbp);
message.setContent(mp);
File emlFile = new File("message.eml");
emlFile.createNewFile();
message.writeTo(new FileOutputStream(emlFile));

// do something with the EML file
// Desktop.getDesktop().open(emlFile);

Java에서 .eml (이메일) 파일을 만듭니다


당신의 응답을 주셔서 감사합니다. PDF 파일 (테스트에 사용하는 것은 Crystal Reports와 함께 생성 된 간단한 HellowOrld입니다)과 PDF 파일을 포함 해야하는 생성 된 EML 파일을 업로드했습니다.

방금 Apple Mail 또는 Outlook Express와 함께 링크 된 EML 파일을 열면 (그러나 편집 가능성없이) 작동한다는 것을 알았습니다. 아마도 Microsoft Outlook의 문제일까요?

링크가 제거됩니다

도움이 되었습니까?

해결책

내가 언급 한 헤더 라인을 메시지의 최상위에 추가하고 Outlook이 어떻게 처리하는지 확인해야합니다. 을 추가하다 To:, From:, Subject: 그리고 아마도 Date: 실제 데이터와 Outlook은 파일만으로 메시지로 취급 할 가능성이 높습니다.

다른 팁

Zubi, 문제는 첨부 파일의 컨텐츠 유형이 "Application/Octet-stream"으로 설정된 것 같습니다. 따라서 Mail Reader가 PDF 파일을 존재하지 않는 메시지의 "텍스트"본문에 대한 대체 디스플레이로 가져 오는 것처럼 보입니다.

당신은 나를 용서해야 할 것입니다. 내가 Mime을 다루고 1 년 이상이 걸렸지 만 a) 메시지에 신체 텍스트를 넣고 싶을 것 같아요. b) 첨부 파일의 유형을 확인하십시오. 응용 프로그램/pdf로 설정됩니다. 바라건대, 이렇게하면 메일 읽기가 PDF를 메시지의 주요 본문으로 표시하는 것을 방지 할 수 있습니다.

그 외에는 정상적인 것처럼 보입니다. 이제는 본체에 RFC 822 헤더가 없기 때문에 Outlook이 암시 될 수 있습니다. 최소한 추가 할 수 있습니다 From:, To:, a Subject:.

메시지가 내 마임 구문 분석 코드를 전달했습니다 ...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top