Oracle存储过程发送邮件--2--邮件内容服务器等信息
CREATE OR REPLACE PROCEDURE P_01_SENDEMAIL_FAILD_01(SP_NAME IN NVARCHAR2)
IS
/*
p_txt :邮件正文
p_sub: 邮件标题
p_SendorAddress : 发送人邮件地址
p_ReceiverAddress : 接收地址,可以同时发送到多个地址上,地址之间用","或者";"隔开
p_EmailServer : 邮件服务器地址,可以是域名或者IP
p_Port :邮件服务器端口
p_need_smtp:是否需要smtp认证,0表示不需要,1表示需要
p_user:smtp验证需要的用户名
p_pass:smtp验证需要的密码
p_filename:附件名称,必须包含完整的路径,如"d:\temp\a.txt"。
可以有多个附件,附件名称只见用逗号或者分号分隔
p_encode:附件编码转换格式,其中 p_encode='bit 7' 表示文本类型附件
p_encode='base64' 表示二进制类型附件
*/
P_APP VARCHAR2(50);
P_TXT VARCHAR2(32767);
P_SUB VARCHAR2(100);
P_SENDOR VARCHAR2(100);
P_RECEIVER VARCHAR2(500);
P_SERVER VARCHAR2(100);
P_PORT NUMBER DEFAULT 25;
P_NEED_SMTP INT DEFAULT 0;
P_USER VARCHAR2(100) DEFAULT NULL;
P_PASS VARCHAR2(100) DEFAULT NULL;
P_FILENAME VARCHAR2(100) DEFAULT NULL;
P_ENCODE VARCHAR2(100) DEFAULT 'bit 7';
---p_count number default 0;
P_DATE DATE;
BEGIN
-- 变量 初始化
SELECT SYSDATE INTO P_DATE FROM DUAL;
--接收邮件地址
P_RECEIVER := '邮件地址';
--发送邮件地址
P_SENDOR := '邮件地址';
--邮件标题
P_SUB := '旭辉集团BI系统接口-----' || P_APP || 'DM层数据接口执行失败' || P_DATE;
--服务器地址
P_SERVER := 'smtpcom.地址';
P_PORT := 25;
P_NEED_SMTP := 1;
--发送邮件用户名
P_USER := '邮件地址';
--密码
P_PASS := '密码';
P_FILENAME := '';
P_ENCODE := 'base64';
/* P_NAME := CASE P_NUM
WHEN 1 THEN
'P_DM_MKT_TO_RATES_ANLY'
WHEN 2 THEN
'P_DM_MKT_TO_RATES_ANLY_YEAR'
WHEN 3 THEN
'P_DM_MKT_VIST_DEAL_ANLY'
WHEN 4 THEN
'P_DM_MKT_PREMIUM_RATE_ANLY'
WHEN 5 THEN
'P_DM_MKT_AR_DELAY_ANLY'
ELSE
'存储过程名未知'
END;*/
-- if (v_diff_type=0) then
--v_01是一个视图,可以抽取内容为发送邮件的内容
-- execute immediate ' select count(t.DETAIL_TYPE) from v_01 t ' into p_count;
-- else
-- execute immediate ' select count(t.DETAIL_TYPE) from v_01 t where t.diff_type='|| v_diff_type ||' ' into p_count;
-- end if;
--绘制表格 开始
P_TXT := '<table border=0>';
P_TXT := P_TXT || '<tr>
<td>如果您收到该封邮件,表明DM层的存储过程执行错误,请检查对应存储过程</td>
</tr><br/>';
P_TXT := P_TXT || '</tr>';
P_TXT := P_TXT || '</table>';
P_TXT := P_TXT || '<br/><br/>';
P_TXT := P_TXT || '<td><font size = 3>存储过程名称为:</font></td>';
P_TXT := P_TXT || '<td><fon size =3>' || SP_NAME || '</font> </td>';
--绘制表格 结束
-- 发送邮件处理
-- if (p_count>0) then
P_02_SENDEMAIL(P_TXT,
P_SUB,
P_SENDOR,
P_RECEIVER,
P_SERVER,
P_PORT,
P_NEED_SMTP,
P_USER,
P_PASS,
P_FILENAME,
P_ENCODE);
-- end if;
--
END;

浙公网安备 33010602011771号