首页 > 代码库 > 用DataBaseMail发图片并茂的邮件
用DataBaseMail发图片并茂的邮件
不知道各位的老板有没有这样的要求, 一些系统中的数据需要定时发出邮件提醒, 如呆料就要到期或者一些待办的事项提醒. 当然这些用SSRS报表订阅可以实现,但有些公司没有设定相应的报表服务,又或者只是一些简单的数据,根本不想做一些多余的报表.这个时候直接用DBMail来发一些数据就最为方便直接了. 一开始我也试过直接发text的邮件到相应的人员中去.但text文本用户体验终究不是很好. 所以构造了一个HTML模板,方便后续简单修改就可以直接发出一些数据. 以下为效果图及相应的代码,请各位拍砖.
--邮件通知相关人员select ID=identity(int,1,1),FollowUserId, JobContent,EndDate, MailID into #tfrom HRMonthJobDTL where ISNULL(Finished,0)=0 and getdate() between StartDate and dateadd(day,1,EndDate)-- select * from HRMonthJobDTLdeclare @successto varchar(2000),@successtocc varchar(2000),@sub varchar(2000) declare @id int,@mailid varchar(15),@user varchar(10)declare @msg varchar(max),@captionstyle varchar(1000) set @captionstyle =‘<html><head>‘ set @captionstyle = @captionstyle +‘<style>‘ set @captionstyle = @captionstyle +‘BODY {BORDER-RIGHT: 0px; BORDER-TOP: 0px; MARGIN: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px; scrollbar-face-color: #f4f2f3; scrollbar-highlight-color: #FFFFFF; scrollbar-shadow-color: #DEE3E7; scrollbar-3dlight-color: #D1D7DC; scrollbar-arrow-color: #006699; scrollbar-track-color: #EFEFEF; scrollbar-darkshadow-color: #98AAB1}‘ set @captionstyle = @captionstyle +‘.TableHeader{BACKGROUND-COLOR: #cccccc;COLOR: #000000}‘ set @captionstyle = @captionstyle +‘.TableHeaderFont{COLOR: #003399; FONT-FAMILY: ‘‘宋体‘‘,‘‘Verdana‘‘, ‘‘Arial‘‘, ‘‘Helvetica‘‘, ‘‘sans-serif‘‘; FONT-SIZE: 14px}‘ set @captionstyle = @captionstyle +‘.TableItem{BACKGROUND-COLOR: #f4f2f3;COLOR: #000000}‘ set @captionstyle = @captionstyle +‘.TableItemFont{ COLOR: #003399; FONT-FAMILY: ‘‘宋体‘‘,‘‘Verdana‘‘, ‘‘Arial‘‘, ‘‘Helvetica‘‘, ‘‘sans-serif‘‘; FONT-SIZE: 13px}‘ set @captionstyle = @captionstyle +‘</style></head><body><form>‘ while ((select count(*) from #t)>0) begin select @id=ID,@mailid=MailID,@user=FollowUserId from #t set @msg =@captionstyle+‘<h4><font color=Black>您好!‘+ @user +‘, 以下为待办事谊提醒</font></h4>‘; set @msg = @msg + ‘<table width=100%><tr><td align=left><table borderColor=#ffffff cellSpacing=0.5px borderColorDark=#ffffff cellPadding=1 width=100% align=left borderColorLight=#ffffff border=0>‘ set @msg = @msg + ‘<tr class=TableItem>‘ set @msg = @msg + ‘<td width=80%><font class=TableHeaderFont><b>工作内容</b></font></td>‘ set @msg = @msg + ‘<td><font class=TableHeaderFont><b>预计完成时间</b></font></td>‘ set @msg = @msg + ‘</tr>‘ select @msg = @msg + ‘<tr><td class=TableItem ><font class=TableItemFont>‘ + rtrim(isnull(JobContent,‘‘)) + ‘</font></td><td class=TableItem ><font class=TableItemFont>‘ --+ rtrim(FollowUserId) + ‘</font></td><td class=TableItem ><font class=TableItemFont>‘ + convert(varchar(10),EndDate,121)+ ‘</font></td></tr>‘ from #t where ID=@id set @msg = @msg + ‘</table></td></tr><tr><td colspan=8><hr color=‘‘#000099‘‘></td></tr><tr><td align=left colspan=8><font class=‘‘TableHeaderFont‘‘ ><b>请登录:<a href=http://www.mamicode.com/#>管理系统查询详情!若有问题,请与系统管理员联系!!