2014-07-11 2 views
0

이메일에 이미지를 첨부 할 필요없이 텍스트와 함께 이미지를 이메일에 추가하고 싶습니다. 이것이 가능한가?자바를 사용하는 첨부 파일이없는 이메일에 이미지 포함

나는 지금까지 다음과 같은 작업을 해왔지만 첨부 파일과 메일로 이미지가 전송됩니다. 첨부 파일없이 메일의 일부로 보내십시오.

`Message message = new MimeMessage(session); 
     message.setFrom(new InternetAddress(username)); 
     message.setRecipients(Message.RecipientType.TO, 
       InternetAddress.parse(emailID)); 
     message.setSubject("Password Reset"); 

        Multipart multipart = new MimeMultipart("related"); 


        BodyPart htmlPart = new MimeBodyPart(); 
    htmlPart.setContent("<html><body>Hi<img src=\"cid:the-img-1\"/></body></html>", "text/html"); 

    multipart.addBodyPart(htmlPart); 


    BodyPart imgPart=new MimeBodyPart(); 

    // Loading the image 
    DataSource ds=new FileDataSource("C:\\Users\\XYZ\\Desktop\\images.jpg"); 
    imgPart.setDataHandler(new DataHandler(ds)); 

    //Setting the header 
    imgPart.setHeader("Content-ID","the-img-1"); 

    multipart.addBodyPart(imgPart); 

    // attaching the multi-part to the message 

    message.setContent(multipart); 


     Transport.send(message);` 
+1

이미지를 보내려면 정확히 다른 방법을 제안 하시겠습니까? – chrylis

+0

인라인 컨텐츠로. 첨부 파일을 참조하는 콘텐츠가 아닌 메일에 이미지가 포함 된 메일을 매일 수신합니다. – Adarsh

+0

img src에 URL을 사용하는 것이 더 좋습니다. – chf

답변

0

이러한 목적으로 html 기반 전자 메일을 구성해야합니다. Google에서 얻을 수있는 많은 사례가 있습니다. 한 예는 here입니다.

보내려는 이미지는 http를 통해 수신인에게 액세스 할 수 있어야합니다. Google 드라이브 또는 일부 이미지 서버에 업로드 할 수 있습니다.

+0

님이 첨부 파일에 대한 참조를 가지고 있거나 URL을 사용하여 이미지를 삽입하는 유일한 방법입니까? – Adarsh

+0

@Adarsh ​​내가 아는 한, 그렇습니다. 결국 이미지는 공개적으로 액세스 할 수있는 사이트 나 메일의 일부로 어딘가에 있어야합니다. 그리고 그것이 첨부 파일입니다. 그러나 오래된 Windows 메일러는 RTF 형식 (MIME 첨부 파일도 HTML도 없음)을 사용할 수 있지만 다른 메일러는 메시지를 읽을 수 없음을 기억합니다 ... –

관련 문제