调用程序,发邮件了,以下发邮件例子,请参考:
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/