간단한 메일 전송

    첨부파일이 없는 메일은 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 보다는 훨씬 더 사용하기 쉽다는 점을 느낄 수 있을 것이다.

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