메일솔루션 연동 인터페이스

개요

메일 솔루션과의 연동을 위한 표준 인터페이스 기능을 수행한다. 전자우편을 자체적으로 발송하는 기능은 구성하지 않으며, 메일발송시스템에 XML형태로 전자우편 내용을 전송하고, 수신결과를 받아 내역관리를 할 수 있는 인터페이스를 지원하는 기능과 발송할 메일 내역을 관리하는 기능을 제공한다.

설명

패키지 참조 관계

메일연동 인터페이스 패키지는 요소기술의 공통(cmm) 패키지와 포맷/날짜/계산, 시스템 패키지에 대해서 직접적인 함수적 참조 관계를 가진다.

관련소스

발송메일 내역조회

유형대상소스명비고
Controlleregovframework.com.cop.ems.web.EgovSndngMailDtlsController.java발송메일 내역조회 관리 Controller Class
Serviceegovframework.com.cop.ems.service.EgovSndngMailDtlsService.java발송메일 내역조회 Service Class
ServiceImplegovframework.com.cop.ems.service.impl.EgovSndngMailDtlsServiceImpl.java발송메일 내역조회ServiceImpl Class
Modelegovframework.com.cop.ems.service.SndngMail.java발송메일 모델 Class
VOegovframework.com.cop.ems.service.SndngMailVO.java발송메일 VO Class
DAOegovframework.com.cop.ems.service.impl.SndngMailDtlsDAO.java발송메일 내역조회 Dao Class
JSP/WEB-INF/jsp/egovframework/com/cop/ems/EgovMailDtls.jsp발송메일 내역조회 페이지
QUERY XML/egovframework/sqlmap/com/cop/ems/EgovSndngMailDtls_SQL_Mysql.xml발송메일 내역조회MySQL용 QUERY XML
QUERY XML/egovframework/sqlmap/com/cop/ems/EgovSndngMailDtls_SQL_Oracle.xml발송메일 내역조회Oracle용 QUERY XML
QUERY XML/egovframework/sqlmap/com/cop/ems/EgovSndngMailDtls_SQL_Tibero.xml발송메일 내역조회Tibero용 QUERY XML
QUERY XML/egovframework/sqlmap/com/cop/ems/EgovSndngMailDtls_SQL_Altibase.xml발송메일 내역조회Altibase용 QUERY XML
Validator Rule XMLresources/egovframework/validator/validator-rules.xmlValidator Rule을 정의한 XML
Validator XMLresources/egovframework/validator/com/cop/ems/EgovMailRegist.xml메일솔루션 연동 인터페이스 Validator XML
Message propertiesresources/egovframework/message/com/message-common_ko_KR.properties일정관리 Message properties

발송메일 등록

유형대상소스명비고
Controlleregovframework.com.cop.ems.web.EgovSndngMailRegistController.java발송메일 등록 관리 Controller Class
Serviceegovframework.com.cop.ems.service.EgovSndngMailRegistService.java발송메일 등록 관리 Service Class
ServiceImplegovframework.com.cop.ems.service.impl.EgovSndngMailRegistServiceImpl.java발송메일 등록 관리 ServiceImpl Class
Modelegovframework.com.cop.ems.service.SndngMail.java발송메일 모델 Class
VOegovframework.com.cop.ems.service.SndngMailVO.java발송메일 VO Class
VOegovframework.com.cop.ems.service.AtchmnFileVO.java발송메일에 첨부되는 파일 VO Class
DAOegovframework.com.cop.ems.service.impl.SndngMailRegistDAO.java발송메일 등록 Dao Class
JSP/WEB-INF/jsp/egovframework/com/cop/ems/EgovMailRegist.jsp발송메일 등록 페이지
QUERY XML/egovframework/sqlmap/com/cop/ems/EgovSndngMailRegist_SQL_Mysql.xml발송메일 등록 MySQL용 QUERY XML
QUERY XML/egovframework/sqlmap/com/cop/ems/EgovSndngMailRegist_SQL_Oracle.xml발송메일 등록 Oracle용 QUERY XML
QUERY XML/egovframework/sqlmap/com/cop/ems/EgovSndngMailRegist_SQL_Tibero.xml발송메일 등록 Tibero용 QUERY XML
QUERY XML/egovframework/sqlmap/com/cop/ems/EgovSndngMailRegist_SQL_Altibase.xml발송메일 등록 Altibase용 QUERY XML
Validator Rule XMLresources/egovframework/validator/validator-rules.xmlValidator Rule을 정의한 XML
Validator XMLresources/egovframework/validator/com/cop/ems/EgovMailRegist.xml메일솔루션 연동 인터페이스 Validator XML
Idgen XMLresources/egovframework/spring/context-idgen.xml발송메일 Id생성 Idgen XML

발송메일 상세조회

유형대상소스명비고
Controlleregovframework.com.cop.ems.web.EgovSndngMailDetailController.java발송메일 상세조회 관리 Controller Class
Serviceegovframework.com.cop.ems.service.EgovSndngMailDetailService.java발송메일 상세조회 Service Class
Serviceegovframework.com.cop.ems.service.EgovSndngMailService.java메일 솔루션과 연동해서 이용해서 메일을 보내는 Service Class
ServiceImplegovframework.com.cop.ems.service.impl.EgovSndngMailDetailServiceImpl.java발송메일 상세조회 ServiceImpl Class
ServiceImplegovframework.com.cop.ems.service.impl.EgovSndngMailServiceImpl.java메일 솔루션과 연동해서 이용해서 메일을 보내는 ServiceImpl Class
Modelegovframework.com.cop.ems.service.SndngMail.java발송메일 모델 Class
VOegovframework.com.cop.ems.service.SndngMailVO.java발송메일 VO Class
DAOegovframework.com.cop.ems.service.impl.SndngMailDetailDAO.java발송메일 상세조회 Dao Class
JSP/WEB-INF/jsp/egovframework/com/cop/ems/EgovMailDetail.jsp발송메일 상세조회 페이지
JSP/WEB-INF/jsp/egovframework/com/cop/ems/EgovMailXml.jsp발송요청메일 XML파일 페이지
QUERY XML/egovframework/sqlmap/com/cop/ems/EgovSndngMailDetail_SQL_Mysql.xml발송메일 상세조회 MySQL용 QUERY XML
QUERY XML/egovframework/sqlmap/com/cop/ems/EgovSndngMailDetail_SQL_Oracle.xml발송메일 상세조회 Oracle용 QUERY XML
QUERY XML/egovframework/sqlmap/com/cop/ems/EgovSndngMailDetail_SQL_Tibero.xml발송메일 상세조회 Tibero용 QUERY XML
QUERY XML/egovframework/sqlmap/com/cop/ems/EgovSndngMailDetail_SQL_Altibase.xml발송메일 상세조회 Altibase용 QUERY XML
Validator Rule XMLresources/egovframework/validator/validator-rules.xmlValidator Rule을 정의한 XML
Validator XMLresources/egovframework/validator/com/cop/ems/EgovMailRegist.xml메일솔루션 연동 인터페이스 Validator XML

클래스 다이어그램

발송메일 내역조회

발송메일 등록

발송메일 상세조회

ID Generation

ID Generation 관련 DDL 및 DML

  • ID Generation Service를 활용하기 위해서 Sequence 저장테이블인 COMTECOPSEQ에 MAILMSG_ID 항목을 추가해야 한다.
  CREATE TABLE COMTECOPSEQ ( table_name varchar(16) NOT NULL, 
  		   next_id DECIMAL(30) NOT NULL,
  		   PRIMARY KEY (table_name));
 
  INSERT INTO COMTECOPSEQ VALUES('MAILMSG_ID','0');
 

ID Generation 환경설정(context-idgen.xml)

	<bean name="egovMailMsgIdGnrService"
		class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrService"
		destroy-method="destroy">
		<property name="dataSource" ref="egov.dataSource" />
		<property name="strategy" ref="mailMsgtrategy" />
		<property name="blockSize" 	value="10"/>
		<property name="table"	   	value="COMTECOPSEQ"/>
		<property name="tableName"	value="MAILMSG_ID"/>
	</bean>
	<bean name="mailMsgtrategy"
		class="egovframework.rte.fdl.idgnr.impl.strategy.EgovIdGnrStrategyImpl">
		<property name="prefix" value="MAILMSG_" />
		<property name="cipers" value="12" />
		<property name="fillChar" value="0" />
	</bean>

관련테이블

테이블명테이블명(영문)비고
메일발신관리COMTHEMAILDSPTCHMANAGE메일발신을 관리한다.

관련기능

메일솔루션 연동 인터페이스는 발송메일 내역조회, 발송메일 등록, 발송메일 상세조회 기능으로 구분되어 있다.

발송메일 내역조회

비즈니스 규칙

메일 솔루션을 통해 발송하기 위해 등록된 메일 목록을 조회하고, 삭제 처리할 수 있다.

관련코드

메일 목록에서 발송결과로 사용되는 코드 및 그에 따른 설정 값의 반영사항은 다음과 같다.

코드분류코드분류명코드ID코드명
COM024발송결과구분R요청
COM024발송결과구분F실패
COM024발송결과구분C완료

관련화면 및 수행매뉴얼

ActionURLController methodQueryID
메일목록조회/ems/selectSndngMailList.doselectSndngMailList“SndngMailDtlsDAO.selectSndngMailList_D”
“SndngMailDtlsDAO.selectSndngMailListTotCnt_S”

제목/내용/보낸이 검색조건으로 발송메일 목록을 조회한다.
삭제할 메일들을 체크한 뒤 삭제한다.

검색조건 선택: 제목, 내용, 보낸이 검색조건을 선택한다.
검색어 입력: 선택한 검색조건에 맞게 검색어를 입력한다.
조회: 검색조건, 검색어에 부합되는 메일목록을 조회한다.
등록: 메일 등록 화면으로 들어간다.
삭제: 체크한 메일들을 삭제한다.

발송메일 등록

비즈니스 규칙

메일 솔루션을 통해 발송하기 위해 수신자, 제목, 첨부파일, 발신내용 정보를 입력하여 메일을 등록할 수 있다.

관련코드

메일 등록에서 발송결과로 사용되는 코드 및 그에 따른 설정 값의 반영사항은 다음과 같다.

코드분류코드분류명코드ID코드명
COM024발송결과구분R요청
COM024발송결과구분F실패
COM024발송결과구분C완료

관련화면 및 수행매뉴얼

ActionURLController methodQueryID
메일등록화면/cop/ems/insertSndngMailView.doinsertSndngMailView
메일등록/cop/ems/insertSndngMail.doinsertSndngMail“sndngMailRegistDAO.insertSndngMail”

발신자, 수신자, 제목, 첨부파일, 발신내용 정보를 담은 메일을 등록한다.

받는 사람: 수신자의 E-Mail 주소를 입력한다.
제목: 메일 제목을 입력한다.
파일첨부: 메일에 첨부할 파일을 하나씩 추가한다.
발신내용: 메일의 내용을 HTML 또는 텍스트 형태로 입력한다.
뒤로: 메일 내역조회 화면으로 돌아간다.
등록: 메일을 등록하고 발송요청 한다.

발송메일 상세 조회

비즈니스 규칙

메일 솔루션을 통해 발송하기 위해 등록된 메일 정보를 상세 조회하고, 삭제 처리할 수 있다.

관련코드

N/A

관련화면 및 수행매뉴얼

ActionURLController methodQueryID
메일상세조회/cop/ems/selectSndngMailDetail.doselectSndngMail“sndngMailDetailDAO.selectSndngMail”
발송메일삭제/cop/ems/deleteSndngMail.dodeleteSndngMail“sndngMailDetailDAO.deleteSndngMail”
첨부파일삭제/cop/ems/deleteSndngMail.dodeleteSndngMail“sndngMailDetailDAO.deleteAtchmnFileList”

발신자, 수신자, 제목, 내용, 발송결과, XML파일내용보기, 첨부파일 정보를 조회한다.
조회한 메일을 삭제한다.

XML메일보기: 발송요청을 위해 생성된 XML형태의 파일 내용을 조회한다.
첨부파일: 메일에 첨부된 파일을 열거나 저장한다.
뒤로: 발송메일 목록 조회 화면으로 돌아간다.
삭제: 조회된 메일 정보 및 관련 XML파일, 첨부파일을 모두 삭제한다.

일반용 및 첨부파일 미사용 발송메일 구현 예제

관련코드

  • context-mail.xml 내용 수정
    <!-- 일반용 -->
    <bean id="EMSMailSender" 
        class="org.springframework.mail.javamail.JavaMailSenderImpl" 
        p:host="STMP서버주소"  
        p:username="아이디" 
        p:password="비밀번호" /> 
 
    <!-- 메일 연동 인터페이스에서 첨부파일 미사용(SSL 사용시) -->
    <bean id="EMSMailSender" 
        class="org.springframework.mail.javamail.JavaMailSenderImpl" 
        p:host="smtp.gmail.com" 
        p:port="465"  
        p:protocol="smtps" 
        p:username="아이디" 
        p:password="비밀번호"> 
        <property name="javaMailProperties"> 
            <props> 
                <prop key="mail.smtps.auth">true</prop> 
                <prop key="mail.smtps.startls.enable">true</prop> 
                <prop key="mail.smtps.debug">true</prop> 
            </props> 
        </property> 
    </bean>
  • 메일 발송하는 메서드 구현
package egovframework.com.cop.ems.service.impl;
 
@Service("egovSndngMailService")
public class EgovSndngMailServiceImpl extends AbstractServiceImpl implements EgovSndngMailService {
 
//     첨부파일 미사용시
    @Resource(name="EMSMailSender")
    private MailSender emsMailSender;
 
    public boolean sndngMail(SndngMailVO sndngMailVO) throws Exception {
 
    String recptnPerson = (sndngMailVO.getRecptnPerson() == null) ? "" : sndngMailVO.getRecptnPerson();          // 수신자
    String subject = (sndngMailVO.getSj() == null) ? "" : sndngMailVO.getSj();                                   // 메일제목
    String emailCn = (sndngMailVO.getEmailCn() == null) ? "" : sndngMailVO.getEmailCn();                         // 메일내용
 
    SimpleMailMessage msg = new SimpleMailMessage();
    msg.setTo(recptnPerson);
    msg.setSubject(subject);
    msg.setText(emailCn);
    emsMailSender.send(msg);
}
 
egovframework/com/v2/cop/메일솔루션_연동_인터페이스.txt · 마지막 수정: 2023/12/21 05:21 (외부 편집기)
 
이 위키의 내용은 다음의 라이센스에 따릅니다 :CC Attribution-Noncommercial-Share Alike 3.0 Unported
전자정부 표준프레임워크 라이센스(바로가기)

전자정부 표준프레임워크 활용의 안정성 보장을 위해 위험성을 지속적으로 모니터링하고 있으나, 오픈소스의 특성상 문제가 발생할 수 있습니다.
전자정부 표준프레임워크는 Apache 2.0 라이선스를 따르고 있는 오픈소스 프로그램입니다. Apache 2.0 라이선스에 따라 표준프레임워크를 활용하여 발생된 업무중단, 컴퓨터 고장 또는 오동작으로 인한 손해 등에 대해서 책임이 없습니다.
Recent changes RSS feed CC Attribution-Noncommercial-Share Alike 3.0 Unported Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki