用DataBaseMail发图片并茂的邮件
不知道各位的老板有没有这样的要求, 一些系统中的数据需要定时发出邮件提醒, 如呆料就要到期或者一些待办的事项提醒. 当然这些用SSRS报表订阅可以实现,但有些公司没有设定相应的报表服务,又或者只是一些简单的数据,根本不想做一些多余的报表.这个时候直接用DBMail来发一些数据就最为方便直接了. 一开始我也试过直接发text的邮件到相应的人员中去.但text文本用户体验终究不是很好. 所以构造了一个HTML模板,方便后续简单修改就可以直接发出一些数据. 以下为效果图及相应的代码,请各位拍砖.
--邮件通知相关人员
select ID=identity(int,1,1),FollowUserId, JobContent,EndDate, MailID into #t
from HRMonthJobDTL where ISNULL(Finished,0)=0 and getdate() between StartDate and dateadd(day,1,EndDate) -- select * from HRMonthJobDTL declare @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=#>管理系统</A>查询详情!若有问题,请与系统管理员联系!!</b></font></a></td></tr></table></form></body></HTML>' select @sub='待办事谊提醒', @successto=SuccessTo , @successtocc=SuccessToCC from MailList where ID=@mailid exec [SendMail] @successto,@msg,'','',@successtocc,'',@sub,'HTML' delete #t where ID=@id
end -- SELECT sent_status,* FROM msdb.dbo.sysmail_allitems
其次,这里并没有包含了图片, 但我们可以依然可以做,例如,在节假日前发出一个慰问卡片到员工的邮箱, 又或者在员工生日前一天发出一些图片和文字祝贺.由于涉及员工信息,以下图片只是我新做的样例,请各位参考并提出意见.
首先,我们可以在VS里设计好样式.
然后把构造好的HTML代码复制到SQL中的去
declare @msg varchar(max)
set @msg = '<html>
<head><title> </title></head>
<body>
<form name="form1" method="post" action="Default.aspx" id="form1">
<div>
<h4>XXX awarded the winner of Hong Kong''s Most Valuable Companies AWARD</h4>
<h4>For more information, Please click the image</h4>
<a href="http://www.xxx.com" target="_blank"><img id="Image1" src="http://www.xxx.com/upload/NEWSLETTER107_1.jpg" style="border-width:0px;" /></a>
</div>
</form>
</body>
</html>' --select @sub as aa ,@rep as bb,@cc as cc,@msg as dd
exec [SendMail] 'zhuhl@xxx.com',@msg,'','','','','DBMail发图文并茂的邮件','HTML'
然后发出.
这里只是随意做了个样版,在实际操作中,各位可以按实际要求制作精美的HTML模板. (原创作品,转载请注明出处..)
各位如有好意见,请提出....
用DataBaseMail发图片并茂的邮件的更多相关文章
- 用Python发一封图文并茂的邮件
最近使用了不少通讯工具的接口, 比如企业微信机器人,钉钉,微信公众号的接口(未认证的订阅公众号),相对于邮件来说,它们的表现形式太弱.比如没有更丰富的版本方式.当然了,并不是说表现形式越棒就是约好的通 ...
- C#开发微信门户及应用(15)-微信菜单增加扫一扫、发图片、发地理位置功能
前面介绍了很多篇关于使用C#开发微信门户及应用的文章,基本上把当时微信能做的接口都封装差不多了,微信框架也积累了不少模块和用户,最近发现微信公众平台增加了不少内容,特别是在自定义菜单里面增加了扫一扫. ...
- 微信公众平台自定义菜单新增扫一扫、发图片、发位置 LBS运作更便捷
今天微信公众平台发布更新,自定义菜单新增扫一扫.发图片.发送位置等功能,这对于有意挖掘微信LBS服务的运营者来说更便捷了,订阅号不用返回微信界面就能扫图.发送图片.调用地理位置,用户体验更友好,自然也 ...
- C#发送内置图片的html格式邮件的代码
将写内容过程经常用的内容段备份一次,下面的内容是关于C#发送内置图片的html格式邮件的内容,应该对码农们也有用处.MailMessage m = new MailMessage();m.Subjec ...
- 使用JavaMail发送邮件-从FTP读取图片并添加到邮件正文发送
业务分析: 最近工作需要,需要从FTP读取图片内容,添加到邮件正文发送.发送邮件正文,添加附件采用Spring的MimeMessageHelper对象来完成,添加图片也将采用MimeMessageHe ...
- java ssm 后台框架平台 项目源码 websocket即时聊天发图片文字 好友群组 SSM源码
官网 http://www.fhadmin.org/D 集成安全权限框架shiro Shiro 是一个用 Java 语言实现的框架,通过一个简单易用的 API 提供身份验证和授权,更安全,更可靠E ...
- Activiti6.0 工作流引擎 websocket即时聊天发图片文字 好友群组 SSM源码
即时通讯:支持好友,群组,发图片.文件,消息声音提醒,离线消息,保留聊天记录 (即时聊天功能支持手机端,详情下面有截图) 工作流模块---------------------------------- ...
- java工作流引擎 Activiti6.0 websocket 即时聊天发图片文字 好友群组 SSM源码
时通讯:支持好友,群组,发图片.文件,消息声音提醒,离线消息,保留聊天记录 工作流模块--------------------------------------------------------- ...
- Django发送带图片和附件的邮件
最近需要做集团的SRC系统.暂无安全研发,所以只能找我这个小菜兼职开发.系统使用Django框架,在整个过程中,有许多奇特的需求.在某项需求中,需要给厂商用户发送富文本邮件,漏洞详情,这个折腾了一下, ...
随机推荐
- Javascript高级程序设计
根据叶小钗同学的建议,觉得有必要去读读Javascript高级程序设计,不想装B,只想仔细读读,源代码参考. 偶第一个想法,就是去读面向对象和事件那块,不仅关键,而且是薄弱点儿,所以必须去干掉这个短板 ...
- testng之listener
这周在给人培训selenium+testng框架时,讲到listener这块发现对listener并没有完全了解,于是自己又重新学习了下. 以下是 TestNG 提供的几种监听器: IAnnotati ...
- dzzoffice注册开启
dzzoffice默认安装注册选线是关闭的,需要在“系统设置”里打开. 设置方法 开始菜单=>系统设置=>注册与访问=> 将允许用户注册选勾,选上. 然后提交保存.
- web开发中禁止因为网速慢导致重复提交数据
var checkSubmitFlg = false; function check() { if (!checkSubmitFlg) { ...
- Unity 内置着色器(转)
Unity包括超过40种内置的shader. 标准着色器家族 Normal Shader Family 这些着色器都是Unity基本的着色器.适用于大多数的不透明物体,如果想要物体有透明.发光效果等, ...
- os和os.path模块
Os和os.path模块函数 1. Os模块 函数 描述 文件处理 Mkfifo()/mknod() 创建命名管道/创建文件系统节点 Remove()/unlink() 删除文件 Renam ...
- 说说Python 中的文件操作 和 目录操作
我们知道,文件名.目录名和链接名都是用一个字符串作为其标识符的,但是给我们一个标识符,我们该如何确定它所指的到底是常规文件文件名.目录名还是链接名呢?这时,我们可以使用os.path模块提供的isfi ...
- 黑马程序员——Foundation中的OC结构体
<span style="font-size:14px">------<a target="_blank" href="http:/ ...
- Python面试必须要看的15个问题
本文由EarlGrey@编程派独家编译,转载请务必注明作者及出处. 原文:Sheena@codementor 译文:编程派 引言 想找一份Python开发工作吗?那你很可能得证明自己知道如何使用Pyt ...
- asp.net mvc下文件上传
典型的文件上传表单 <form action="/File" enctype="multipart/form-data" method="pos ...