用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框架,在整个过程中,有许多奇特的需求.在某项需求中,需要给厂商用户发送富文本邮件,漏洞详情,这个折腾了一下, ...
随机推荐
- 锋利的jQuery读书笔记---jQuery中Ajax--序列化元素、Ajax全局事件
serialize()方法: 作用于一个jQuery对象,它能够将DOM元素内容序列化为字符串,用于Ajax请求. <!DOCTYPE html> <html> <hea ...
- std::vector数据复制
std::vector<boost::shared_ptr <ITEM> > srcItemList; // 数据源 std::vector<ITEM> des ...
- 【LeetCode】237 & 203 - Delete Node in a Linked List & Remove Linked List Elements
237 - Delete Node in a Linked List Write a function to delete a node (except the tail) in a singly l ...
- 关于C++虚函数的一些东西
先上概念,C++的多态性:系统在运行时根据对象类型,来确定调用哪个重载的成员函数的能力. 多态性是通过虚函数实现的.成员函数之前加了virtual,即成为虚函数. 有虚成员函数的类,编译器在其每个对象 ...
- 机器学习中的算法-决策树模型组合之随机森林与GBDT
机器学习中的算法(1)-决策树模型组合之随机森林与GBDT 版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使 ...
- 怎么去掉Xcode工程中的某种类型的警告
XCode警告 问题描述 在我们的项目中,通常使用了大量的第三方代码,这些代码可能很复杂,我们不敢改动他们,可是作者已经停止更新了,当sdk升级或者是编译器升级后,这些遗留的代码可能会出现许许多 ...
- webservice注释
@WebService 1.serviceName: 对外发布的服务名,指定 Web Service 的服务名称:wsdl:service.缺省值为 Java 类的简单名称 + Service.(字符 ...
- Hadoop2.2.0 手动切换HA环境搭建
ssh-copy-id -i hadoop5含义: 节点hadoop4上执行ssh-copy-id -i hadoop5的含义是把hadoop4上的公钥id_rsa.pub的内容追加到hadoop5的 ...
- 《学习OpenCV》练习题第四章第一题b&c
#include <highgui.h> #include <cv.h> #pragma comment (lib,"opencv_calib3d231d.lib&q ...
- Time vs Story Points Estimation [转]
One of the most common questions we get is whether to estimate in time or points. It seems like poin ...