ChamomileGuides 3.0.3 Help

알림 모듈 사용 가이드

개요

알림 모듈은 외부에 알림 메시지를 전달하고자 하는 기능을 모아두는 모듈로 현재 메일 관현 기능만을 포함하고 있다.

Mail Util은 SMTP서버를 접속하고 발신자, 수신자, 제목, 내용 등의 데이터를 넣고 메일을 발신하는 유틸이다.

사전에 SMTP 서버가 별도로 구축되어있어야 하며 SMTP 서버의 id, password, port 등을 알고있어야 한다.

관련 클래스

  • CommonAuth: SMTP 서버에 대한 정보를 갖고 있는 클래스이다.

  • MailVo: 하나의 메일에 대한 수신자, 발신자, 제목, 내용 등의 데이터를 담고 있는 클래스이다. 내부 static 클래스 Builder를 통해 생성할 수 있다.

  • MailUtil: CommonAuth와 MailVo를 이용하여 직접 메일을 발신하는 기능을 하는 유틸 클래스이다.

사용법

  1. SMTP 서버 구축

  2. dependency 등록(pom.xml)

    <dependency> <groupId>net.lotte.chamomile.module</groupId> <artifactId>chamomile-notification</artifactId> </dependency>
  3. yaml 파일 설정(application.yml)

    chmm: email: smtp: address: 111.222.333.444 port: 1234 id: lotte pw: 1234
  4. 메일 발신

    MailUtil bean을 이용해 메일을 발신한다.

    @RequiredArgsConstructor public class TestEmailController { private final CommonAuth commonAuth; private final MailUtil mailUtil; @GetMapping("/email") public void emailTest() throws EmailException, IOException { String msg = "<html><body><h1>This is Email Test</h1></body></html>" MailVo mailVo = new MailVo.MailVoBuilder() .setFrom("test@test.com") .setHtmlMsg(msg) .setSubject("제목") .addTo("test@test.com") .build(); mailUtil.send(new MailVo[] {mailVo}); } }

템플릿 사용

위와 같이 String에 html 형식의 문자열을 담는 방식이 불편하다면 다음과 같이 하면 된다.

  1. resources 폴더 하위에 email 폴더 생성 후, html 파일 생성

    alt text

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body> <h1>이메일 테스트 템플릿입니다.</h1> <img src="https://chamomile.lotteinnovate.com/storage/2022/06/cropped-chamomile-1-1.png" /> </body> </html>
  2. 메일 발신

    ... MailVo mailVo = new MailVo.MailVoBuilder() .setFrom("test@test") .setTemplate("test.html") .setSubject("제목") .addTo("test@test") .build(); mailUtil.send(new MailVo[] {mailVo}); ...

MailVo 구조

빌더를 통해 만들어지는 MailVo 구조는 아래와 같다.

필드명

메소드

설명

from

setFrom

발신자지정

cc

addCc(String[] cc)

참조자 추가

addCc(String cc)

참조자 추가

subCc(String cc)

참조자 삭제

bcc

addBcc(String[] bcc)

숨은참조자 추가

addBcc(String bcc)

숨은참조자 추가

subBcc(String bcc)

숨은참조자 삭제

to

addTo(String[] to)

수신자 추가

addTo(String to)

수신자 추가

subTo(String to)

수신자 삭제

subject

setSubject(String subject)

제목 입력

msg

setMsg(String msg)

메시지 입력

charset

setCharset(STring charset)

인코딩 정보 입력(기본UTF-8)

attachPath

addAttachPath(String path)

첨부파일경로 추가

subAttachPath(String path)

첨부파일경로 삭제

attachName

addAttachName(String name)

첨부파일명 추가

subAttachName(String name)

첨부파일 경로 삭제

isAttach

자동 입력

htmlMsg

setHtmlMsg(String htmlMsg)

html 메시지 입력

template

setTemplate

html 파일명(확장자 포함) 입력

Last modified: 19 11월 2024