科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道一个可以在Oracle发信的Procedure范例

一个可以在Oracle发信的Procedure范例

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

CREATE OR REPLACE PROCEDURE "SYS"."SEND_MAIL" ( pSender VARCHAR2, pRecipient VARCHAR2,

作者:中国IT实验室 来源:中国IT实验室 2007年10月7日

关键字: 数据库 ORACLE

  • 评论
  • 分享微博
  • 分享邮件

        CREATE OR REPLACE PROCEDURE "SYS"."SEND_MAIL"
        (
        pSender VARCHAR2,
        pRecipient VARCHAR2,
        pSubject VARCHAR2,
        pMessage VARCHAR2)
        IS

        mailhost CONSTANT VARCHAR2(30) := 'YOUR MAIL SYSTEM IP OR FQDN';
        crlf CONSTANT VARCHAR2(2):= CHR(13) || CHR(10);
        mesg VARCHAR2(1000);
        mail_conn UTL_SMTP.CONNECTION;

        BEGIN
        mail_conn := utl_smtp.open_connection(mailhost, 25);
        mesg := 'Date: ' || TO_CHAR( SYSDATE, 'dd Mon yy hh24:mi:ss' ) || crlf || 'From: <'|| pSender ||'>' || crlf || 'Subject: '|| pSubject || crlf || 'To: '||pRecipient || crlf || '' || crlf || pMessage;
        utl_smtp.helo(mail_conn, mailhost);
        utl_smtp.mail(mail_conn, pSender);
        utl_smtp.rcpt(mail_conn, pRecipient);
        utl_smtp.data(mail_conn, mesg);
        utl_smtp.quit(mail_conn);

        END send_mail;

        使用范例

        SQL> desc send_mail
        PROCEDURE send_mail
        Argument Name Type In/Out Default?
        ------------------------------ ----------------------- ------ --------
        PSENDER VARCHAR2 IN
        PRECIPIENT VARCHAR2 IN
        PSUBJECT VARCHAR2 IN
        PMESSAGE VARCHAR2 IN

        SQL> exec send_mail('apple','chu@odba.idv.tw','Test','hello')

        PL/SQL procedure successfully completed.

        上面的范例是利用远端的mail service来寄信,简单又容易实做!!

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件