프로그래밍 일기/Java & Spring

자바 스프링 메일 안에 이미지 추가하는 방법

MakeMe 2023. 7. 18. 16:38
반응형
버전 정보

스프링 레거시 3.2.9.RELEASE

자바 1.8

javax.mail 1.6.2

maven 프로젝트

 

MailUtil.java
messageHelper.addInline("image", new ClassPathResource("/images/hanati/logo.png"));

아래는 전체 로직 코드입니다.

public boolean sendMail(Map msgInfo) throws Exception {
   String subject = (String) msgInfo.get("p_mail_subject");//제목
   String text = (String) msgInfo.get("p_mail_content");//내용
   String fromUser = (String) msgInfo.get("p_send_email");//발신자 이메일
   String fromUserName = (String) msgInfo.get("p_send_name");//발신자명
   String toUser = (String) msgInfo.get("p_recv_email");//수신자 이메일

   MimeMessage message = mailSender.createMimeMessage();
   DataSource dataSource = null;  
   
       try {
           MimeMessageHelper messageHelper = new MimeMessageHelper(message, true, SMTP_ENC);
           messageHelper.setSubject(subject);
           messageHelper.setTo(toUser);      
           messageHelper.setFrom(fromUser, StringUtil.nvl(fromUserName, fromUser));
           messageHelper.setText(text, true);
      	   messageHelper.addInline("image", new ClassPathResource("/images/hanati/logo.png"));
        
           mailSender.send(message);

       } catch (Exception e) {
           e.printStackTrace();
           return false;
       }
       return true;
}

 

HTML 그려주는 곳
sb.append("<img src='cid:image' title='이미지'/>");

messageHelper.addInline("원하는 명칭", new ClassPathResource("경로"));

<img src='cid:원하는 명칭'/> 

위 두 값을 잘 맞추기만 하면 정상작동 합니다.

반응형