首页  ·  知识 ·  生产制造
FORM调用程序发送EMAIL
网友   http://ema100.blog.sohu.com/entry/7939428/    编辑:德仔   图片来源:网络
调用程序,发邮件了,以下发邮件例子,请参考: declare --****************
调用程序,发邮件了,以下发邮件例子,请参考:

declare

--****************
  MAILHOST constant varchar2(30) := '10.66.21.43'  ;
  PSENDER varchar2(128) := 'SENDER';
  P_SUBJECT varchar2(100) := 'SUBJECT';
  P_TO      varchar2(100) := send_to@mail.com';
  P_MESS    varchar2(100) := 'MESS';
--********************  
  
  X_CLF constant varchar2(2) := CHR(13) || CHR(10);
  MAIL_CONN UTL_SMTP.CONNECTION;
  X_STR     varchar2(30000);
  X_rec     varchar2(1000);
  N_1       number;
  N_2       number;


begin
  MAIL_CONN := UTL_SMTP.OPEN_CONNECTION(MAILHOST);
  UTL_SMTP.HELO(MAIL_CONN, MAILHOST);
  UTL_SMTP.MAIL(MAIL_CONN, PSENDER);
  if P_TO is not null then
    X_STR := RTRIM(replace(P_TO, ',', ';'), ';') || ';';
    N_1   := 1;
    loop
      N_2 := INSTR(X_STR, ';', N_1);
      exit when N_2 = 0;
      X_REC := SUBSTR(X_STR, N_1, N_2 - N_1);
      UTL_SMTP.RCPT(MAIL_CONN, X_REC);
      N_1 := N_2 + 1;
    end loop;
  
    UTL_SMTP.OPEN_DATA(MAIL_CONN);
    UTL_SMTP.WRITE_DATA(MAIL_CONN, 'From: ' || PSENDER || X_CLF);
    UTL_SMTP.WRITE_DATA(MAIL_CONN, 'To: ' || RTRIM(P_TO, ';') || X_CLF);
    UTL_SMTP.WRITE_RAW_DATA(MAIL_CONN,
                            UTL_RAW.CAST_TO_RAW('Subject: ' || P_SUBJECT ||
                                                X_CLF));
    UTL_SMTP.WRITE_DATA(MAIL_CONN, 'Mime-Version: 1.0' || X_CLF);
    UTL_SMTP.WRITE_DATA(MAIL_CONN,
                        'Content-Type: multipart/mixed; boundary="DMW.Boundary.605592468"' ||
                        X_CLF);
    UTL_SMTP.WRITE_DATA(MAIL_CONN, '--DMW.Boundary.605592468' || X_CLF);
  
    UTL_SMTP.WRITE_DATA(MAIL_CONN,
                        'Content-Type: text/plain;  charset=utf-8' || X_CLF);
    UTL_SMTP.WRITE_DATA(MAIL_CONN, 'Content-Disposition: inline;' || X_CLF);
    UTL_SMTP.WRITE_DATA(MAIL_CONN,
                        'Content-Transfer-Encoding: 8bit' || X_CLF);
    UTL_SMTP.WRITE_DATA(MAIL_CONN, X_CLF);
    UTL_SMTP.WRITE_RAW_DATA(MAIL_CONN,
                            UTL_RAW.CAST_TO_RAW(P_MESS || X_CLF));
  
    UTL_SMTP.WRITE_DATA(MAIL_CONN, '--DMW.Boundary.605592468--');
    UTL_SMTP.CLOSE_DATA(MAIL_CONN);
    UTL_SMTP.QUIT(MAIL_CONN);
  end if;
end;
 
本文作者:网友 来源: http://ema100.blog.sohu.com/entry/7939428/
CIO之家 www.ciozj.com 微信公众号:imciow
    >>频道首页  >>网站首页   纠错  >>投诉
版权声明:CIO之家尊重行业规范,每篇文章都注明有明确的作者和来源;CIO之家的原创文章,请转载时务必注明文章作者和来源;
延伸阅读
也许感兴趣的
我们推荐的
主题最新
看看其它的