邮件

CREATE OR REPLACE PACKAGE WUCY.MAIL IS

  -------------------------------

  --メールメイン処理

  -------------------------------

  PROCEDURE MAIL_MAIN(

                      in_sub             IN VARCHAR2 DEFAULT NULL

                     ,in_txt_mail_sel    IN VARCHAR2 DEFAULT NULL

                     ,in_txt_sendadd_sel IN VARCHAR2 DEFAULT NULL

                      );

  -------------------------------

  --メール画面処理

  -------------------------------

  FUNCTION MAIL_DISP(

                      in_txt_mail_sel IN VARCHAR2 DEFAULT NULL

                     ,in_txt_sendadd_sel IN VARCHAR2 DEFAULT NULL

                     ,in_error        IN VARCHAR2 DEFAULT NULL

                     )

  RETURN BOOLEAN;

  -------------------------------

  --メール発信処理

  -------------------------------

  FUNCTION MAIL_SEND(

                     in_txt_mail_sel    IN  VARCHAR2 DEFAULT NULL

                    ,in_txt_sendadd_sel IN  VARCHAR2 DEFAULT NULL

                    ,out_error          OUT VARCHAR2

                    )

  RETURN BOOLEAN;

END MAIL;

/

CREATE OR REPLACE PACKAGE BODY WUCY.MAIL IS

  -------------------------------

  --メールメイン処理

  -------------------------------

  PROCEDURE MAIL_MAIN(

                       in_sub             IN VARCHAR2 DEFAULT NULL

                      ,in_txt_mail_sel    IN VARCHAR2 DEFAULT NULL

                      ,in_txt_sendadd_sel IN VARCHAR2 DEFAULT NULL

                      )

  IS

    RTN_BOOLEAN               BOOLEAN;

    wk_error                  VARCHAR2(100) DEFAULT NULL;   

    wk_txt_mail_sel VARCHAR2(100);

  BEGIN

    IF in_sub = 'MAIL' THEN

      RTN_BOOLEAN := MAIL_DISP(

                                in_txt_mail_sel => in_txt_mail_sel

                               ,in_txt_sendadd_sel => in_txt_sendadd_sel

                               ,in_error        => wk_error

                               );

    ELSIF in_sub = '発信' THEN

      RTN_BOOLEAN := MAIL_SEND(

                                in_txt_mail_sel    => in_txt_mail_sel

                               ,in_txt_sendadd_sel => in_txt_sendadd_sel

                               ,out_error          => wk_error

                               );

      RTN_BOOLEAN := MAIL_DISP(

                                in_txt_mail_sel => in_txt_mail_sel

                               ,in_txt_sendadd_sel => in_txt_sendadd_sel

                               ,in_error        => wk_error

                               );

    END IF;

  END MAIL_MAIN;

  -------------------------------

  --メール画面処理

  -------------------------------

  FUNCTION MAIL_DISP(

                     in_txt_mail_sel IN  VARCHAR2 DEFAULT NULL

                    ,in_txt_sendadd_sel IN VARCHAR2 DEFAULT NULL

                    ,in_error        IN  VARCHAR2 DEFAULT NULL

                     )

  RETURN BOOLEAN

  IS

  BEGIN

    HTP.P(&apos;<HTML>&apos;);

    HTP.P(&apos;  <HEAD>&apos;);

    HTP.P(&apos;    <TITLE>メールシステム</TITLE>&apos;);

    HTP.P(&apos;    < META HTTP-EQUIV="CONTENT-TYPE" CONTENT="TEXT/HTML; CHARSET="UTF-8">&apos;);

    HTP.P(&apos;  </HEAD>&apos;);

    HTP.P(&apos;  <SCRIPT LANGAGE="JAVASCRIPT">&apos;);

    ---------------------

    --ボタン処理関数

    --para=1:発信

    ---------------------

    HTP.P(&apos;    function btn_clk(para){&apos;);

    HTP.P(&apos;      if(para == "1"){&apos;);

    HTP.P(&apos;        if(confirm("受信を確認しますか。")){&apos;);

    HTP.P(&apos;        document.form_MAIL.in_sub.value = "発信";&apos;);

    HTP.P(&apos;        document.form_MAIL.submit();&apos;);

    HTP.P(&apos;        return true;&apos;);

    HTP.P(&apos;        }&apos;);

    HTP.P(&apos;      }&apos;);

    HTP.P(&apos;    }&apos;);

    HTP.P(&apos;  </SCRIPT>&apos;);

 

    HTP.P(&apos;<BODY>&apos;);

    HTP.P(&apos;<FORM ACTION="MAIL.MAIL_MAIN" METHOD="POST" NAME="form_MAIL">&apos;);

    HTP.P(&apos;<INPUT TYPE="HIDDEN" NAME="in_sub">&apos;);

    --メール発信システム

    HTP.P(&apos;<DIV STYLE = "OVERFLOW-Y:NO;HEIGHT = 6%;">&apos;);

    HTP.P(&apos;<TABLE style="visibility:visible" border=1 WIDTH=300 HEIGHT =50 ALIGN = CENTER >&apos;);

    HTP.P(&apos;<TR HEIGHT = 5% >&apos;);

    HTP.P(&apos;<TD align=center width=355 bgcolor=#b0c4de>メール発信システム</TD>&apos;);

    HTP.P(&apos;</TR>&apos;);

    HTP.P(&apos;</TABLE>&apos;);

    HTP.P(&apos;</DIV>&apos;);

    HTP.P(&apos;<HR>&apos;);

    HTP.P(&apos;<TABLE>&apos;);

    HTP.P(&apos;<TR>&apos;);

    HTP.P(&apos;<TD>&apos;);

    HTP.P(&apos;宛名<INPUT TYPE="text" size="50"

                    VALUE="&apos;|| FCB999_GET_VALUE(in_txt_sendadd_sel) ||&apos;"

                    NAME="in_txt_sendadd_sel" > &apos;);

    HTP.P(&apos;</TD>&apos;);

    HTP.P(&apos;</TR>&apos;);

    HTP.P(&apos;</TABLE>&apos;);

 

    --テキスト

    HTP.P(&apos;<TABLE>&apos;);

    HTP.P(&apos;<TR>&apos;);

    HTP.P(&apos;<TD>&apos;);

    HTP.P(&apos;<textarea cols=40 rows=10 name="in_txt_mail_sel">&apos;);

    HTP.P(&apos;</textarea>&apos;);

    HTP.P(&apos;</TD>&apos;);

    HTP.P(&apos;</TR>&apos;);

    HTP.P(&apos;</TABLE>&apos;);

    --発信ボタン

    HTP.P(&apos;<TABLE>&apos;);

    HTP.P(&apos;<TR>&apos;);

    HTP.P(&apos;<TD>&apos;);

    HTP.P(&apos;<INPUT TYPE="BUTTON" VALUE="発信"  STYLE="WIDTH:80" onClick="btn_clk(1)">&apos;);

    HTP.P(&apos;</TD>&apos;);

    HTP.P(&apos;</TR>&apos;);

    HTP.P(&apos;</TABLE>&apos;);

    HTP.P(&apos;<HR>&apos;);

    IF in_error IS NOT NULL THEN

      HTP.P(&apos;    <FONT COLOR="RED">&apos;||in_error||&apos;</FONT>&apos;);

    END IF;

    HTP.P(&apos;</BODY>&apos;);

    HTP.P(&apos;</HTML>&apos;);

    RETURN TRUE;

  END MAIL_DISP;

  -------------------------------

  --メール発信処理

  -------------------------------

  FUNCTION MAIL_SEND(

                     in_txt_mail_sel    IN  VARCHAR2 DEFAULT NULL

                    ,in_txt_sendadd_sel IN  VARCHAR2 DEFAULT NULL

                    ,out_error          OUT VARCHAR2

                    )

  RETURN BOOLEAN

  IS

    mailhost      VARCHAR2(64) := &apos;smtp.in.solutions.sh&apos;;

    sender        VARCHAR2(64) := &apos;wucy@163.com&apos;;

    --recipient     VARCHAR2(64) := &apos;wucy@163.com&apos;;

    recipient     VARCHAR2(64) := in_txt_sendadd_sel;

    err_msg       VARCHAR2(100);

    mail_conn     utl_smtp.connection;

  BEGIN

    mail_conn := utl_smtp.open_connection(mailhost,25);

    utl_smtp.helo(mail_conn,mailhost);

    utl_smtp.mail(mail_conn,sender);

    utl_smtp.rcpt(mail_conn,recipient);

    utl_smtp.open_data(mail_conn);

   

    utl_smtp.write_data(mail_conn,in_txt_mail_sel||chr(13));

    utl_smtp.close_data(mail_conn);

    utl_smtp.quit(mail_conn);

    out_error := &apos;発信成功!&apos;;

    RETURN TRUE;

  EXCEPTION

    WHEN OTHERS THEN

      out_error := &apos;発信失敗!&apos;;

      RETURN FALSE;

  END MAIL_SEND;

 

END MAIL;

/

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值