더북(TheBook)

간단한 메일 전송

첨부파일이 없는 메일은 UTL_MAIL.SEND 프로시저를 사용해 보낼 수 있다.

입력

    BEGIN
           UTL_MAIL.SEND (
           sender     => 'charieh@hong.com',
           recipients => 'charieh@hong.com',
           cc         => null,
           bcc        => null,
           subject    => 'UTL_MAIL 전송 테스트',
           message    => 'UTL_MAIL을 이용해 전송하는 메일입니다',
           mime_type  => 'text/plain; charset=euc-kr',
           priority   => 3,
           replyto    => 'charieh@hong.com');

    EXCEPTION WHEN OTHERS THEN
       DBMS_OUTPUT.PUT_LINE(sqlerrm);

    END;

결과

    익명 블록이 완료되었습니다.

오류 메시지가 없으니 제대로 전송되었을 것이다. Outlook을 열고 확인해 보자.

그림 18-13 UTL_MAIL 패키지로 보낸 메일

UTL_SMTP와 마찬가지로 일반 텍스트가 아닌 HTML 형식의 메일도 보낼 수 있다.

입력

    DECLARE

      vv_html  VARCHAR2(300);
    BEGIN

      vv_html := '<HEAD>
       <TITLE>HTML 테스트</TITLE>
     </HEAD>
     <BDOY>
        <p>이 메일은 <b>HTML</b> <i>버전</i> 으로 </p>
        <p> <strong>UTL_MAIL</strong> 패키지를 사용해 보낸 메일입니다. </p>
     </BODY>
    </HTML>';

       UTL_MAIL.SEND (
           sender     => 'charieh@hong.com',
           recipients => 'charieh@hong.com',
           cc         => null,
           bcc        => null,
           subject    => 'UTL_MAIL 전송 테스트2',
           message    => vv_html,
           mime_type  => 'text/html; charset=euc-kr',
           priority   => 1,
           replyto    => 'charieh@hong.com');

    EXCEPTION WHEN OTHERS THEN
       DBMS_OUTPUT.PUT_LINE(sqlerrm);

    END;

결과

    익명 블록이 완료되었습니다.
그림 18-14 UTL_MAIL 패키지로 보낸 HTML 형식의 메일

HTML 형식의 메일을 보내므로 MIME 타입을 ‘text/html’로 바꾸었다. 또한 priority 매개변수 값을 1로 설정했더니 [그림 18-14]에서 볼 수 있듯이 “중요도가 높음인 메시지를 보냈습니다”라는 메시지가 나타났다. 사용 편의성 측면에서 볼 때 UTL_MAIL이 UTL_SMTP 보다는 훨씬 더 사용하기 쉽다는 점을 느낄 수 있을 것이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.