ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • PL/SQL 메일발송 예제
    Database 2008. 8. 26. 15:33
    반응형

    Localhost에 SMTP Service가 살아 있어야 겠죠^^

    -- PL/SQL 메일발송 예제
    SQL> CREATE OR REPLACE PROCEDURE SEND_MAIL_TCP (
        msg_from     VARCHAR2 := 'mylife688@hanmail.net'
      , msg_to       VARCHAR
      , msg_subject  VARCHAR2 := 'E-Mail Test...'
      , msg_text     VARCHAR2 := ''
    )
    IS
      c   UTL_TCP.CONNECTION;
      rc  INTEGER;
    BEGIN
      c  := UTL_TCP.OPEN_CONNECTION('localhost', 25);       -- open the SMTP port 25 on local machine
      rc := UTL_TCP.WRITE_LINE(c, 'HELO localhost');
      rc := UTL_TCP.WRITE_LINE(c, 'MAIL FROM: '||msg_from);
      rc := UTL_TCP.WRITE_LINE(c, 'RCPT TO: '||msg_to);
      rc := UTL_TCP.WRITE_LINE(c, 'DATA');                  -- Start message body
      rc := UTL_TCP.WRITE_LINE(c, 'Subject: '||msg_subject);
      rc := UTL_TCP.WRITE_LINE(c, '');
      rc := UTL_TCP.WRITE_LINE(c, msg_text);
      rc := UTL_TCP.WRITE_LINE(c, '.');                     -- End of message body
      rc := UTL_TCP.WRITE_LINE(c, 'QUIT');
      UTL_TCP.CLOSE_CONNECTION(c);                          -- Close the connection
    EXCEPTION
      WHEN others THEN
        RAISE_APPLICATION_ERROR(-20000, 'Unable to send e-mail message from PL/SQL routine.');
    END;
    /

    SQL> EXEC SEND_MAIL_TCP ( msg_to => 'julymorning04@yahoo.co.kr', msg_text => 'This is a test message');

    PL/SQL 처리가 정상적으로 완료되었습니다.

    반응형
Designed by Tistory.