2013-02-25 4 views
2

자바 웹 응용 프로그램을 통해 전자 메일을 보내고 있습니다. 전자 메일에는 HTML 콘텐츠 만 들어 있습니다. 수신자에게 보낸 이메일은 특히 하나의 도메인 (예 : mydomain.com)의 SPAM 폴더에 있습니다.자바에서 텍스트 버전의 전자 메일을 포함하는 방법

그래서 솔루션을 검색 할 때 전자 메일에는 일반 버전도 포함되어야합니다. 즉, 일반 버전도 java의 html 메일에 포함시키는 방법입니다. 내 전자 메일에는 첨부 파일도 포함되어 있습니다.

답변

1

JavaMail FAQ entry은 첨부 파일 이외의 모든 것을 도와줍니다. 이 간단한 버전을 먼저 시도해보고 계속 진행하십시오.

JavaMail FAQ entry은 첨부 파일에 대해 이야기합니다.

둘을 결합해야합니다. 본체와 첨부 파일을 보관하기 위해 다중 부분/혼합 내용이 포함 된 메시지를 작성해야합니다. 첫 번째 본문 부분은 일반 텍스트 부분 대신 다중 부분/대체 내용이어야합니다.

시작하면 충분하지 않은지 알려주세요.

2

해결책을 찾았습니다. 문제가 없습니다.

String body ="<html><head></head><body><span>this is a test mail</span></body></html>   

Multipart multiPart = new MimeMultipart("alternative"); // Create an "Alternative" Multipart message 

      MimeBodyPart text = new MimeBodyPart(); 
      MimeBodyPart html = new MimeBodyPart(); 

      text.setText(body.replaceAll("\\<[^>]*>","").replaceAll("&nbsp;","").replaceAll("&amp;","&")); //set the text/plain version 
      html.setContent(Jsoup.parse(body).html(), "text/html");  //set the text/html version 

      multiPart.addBodyPart(text); 
      multiPart.addBodyPart(html); 
      message.setContent(multiPart);