‘한글 메일 테스트’라고 작성했던 본문 내용이 깨져 ‘?’로 표시된 것을 알 수 있다. 따라서 한글과 같은 다중 바이트 문자는 WRITE_RAW_DATA 프로시저를 사용해야 한다. 이때 매개변수로 들어오는 문자는 UTL_RAW.CAST_TO_RAW 함수를 사용해 VARCHAR2 타입을 RAW 타입으로 변환해 줘야 한다.

    입력

        ...
        ...
        UTL_SMTP.WRITE_DATA(c,'From: ' || '"hong2" <charieh@hong.com>' || UTL_TCP.CRLF ); -- 보내는사람
        UTL_SMTP.WRITE_DATA(c,'To: ' || '"hong1" <charieh@hong.com>' || UTL_TCP.CRLF );   -- 받는사람
        UTL_SMTP.WRITE_DATA(c,'Subject: Test' || UTL_TCP.CRLF );                          -- 제목
        UTL_SMTP.WRITE_DATA(c, UTL_TCP.CRLF );                                            -- 한 줄 띄우기
        -- 본문을 한글로 작성하고, 이를 RAW 타입으로 변환한다.
          UTL_SMTP.WRITE_RAW_DATA(c, UTL_RAW.CAST_TO_RAW('한글 메일 테스트' || UTL_TCP.CRLF)  );
        UTL_SMTP.CLOSE_DATA(c); -- 메일 본문 작성 종료
        ...
        ...
    

    결과

        익명 블록이 완료되었습니다.
    
    그림 18-6 한글로 작성된 메일
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.