上文已讲过如何在数据库中配置数据库邮件发送(备注: 数据库邮件功能是 基于SMTP实现的,首先在系统中 配置SMTP功能。即 在 “添加/删除程序”面板中 “增加/删除WINDOWS组件”,选中并双击 打开\"IIS\"或 “应用程序”,勾选 \"SMTP SERVICE\"然后 一路 点“下一步”即可。一般不需要这一步,直接配置即可)
本文给出一个使用实例,结合存储过程和Job来实现定时从数据库发送邮件:
1、创建存储过程,在新建的存储过程中调用sp_send_dbmail存储过程(注:代码中的\\\'只是添加代码时自动添加的转义字符,实质代码中只有单引号)
DECLAREcursor_repaymentCURSORFOR
SELECT
br_id
,installments
,remark
fromdw_account_repaymentt
where
status!=1
andis_del=0
orderbyt.add_datetimedesc;
OPENcursor_repayment
FETCHNEXTFROMcursor_repaymentINTO
@v_br_id--标ID
,@v_installments--期数
,@v_remark--错误描述
WHILE@@FETCH_STATUS=0
BEGIN
set@v_content=@v_content+\\\'<tr><td>\\\'+@v_br_id+\\\'</td>\\\'+\\\'<td>\\\'+@v_installments+\\\'</td>\\\'+\\\'<td>\\\'+@v_remark+\\\'</td></tr>\\\';
fetchnextfromcursor_repaymentinto
@v_br_id--标ID
,@v_installments--期数
,@v_remark--错误描述
end;
CLOSEcursor_repayment;--关闭游标
DEALLOCATEcursor_repayment;--清空游标
ifLEN(@v_content)>0
begin
SET@v_body=\\\'<html><H1>自动还款所有异常列表</H1><bodybgcolor=white><tableborder=1><tr><th>标ID</th><th>期数</th><th>错误描述</th></tr>\\\'
SET@v_body=@v_body+@v_content+\\\'</table></body></html>\\\'
EXECmsdb.dbo.sp_send_dbmail
@recipients=N\\\'接收用户地址1@qq.com;接收用户地址2@qq.com\\\',@body=@v_body,@body_format=\\\'HTML\\\'
,@subject=@v_titile,@profile_name=\\\'上一节点的配置文件名(db_profiler)\\
本文地址:https://www.stayed.cn/item/17863
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我