SQL 中调用Cdo.Message 发Email 乱码问题
现在Email 内容需包含繁体
-- exec Sp_SendMail @from,@pwd,@to,@cc,@bcc,@title,@body,@errMsg
CREATE procedure Sp_SendMail
@from varchar(100),
@pwd varchar(20),
@to varchar(100),
@cc varchar(300),
@bcc varchar(100),
@title nvarchar(100),
@body nvarchar(4000),
@errMsg varchar(200) out
as
Declare @hr int
declare @errnum as int
declare @object as int
set @errnum=0 --正确的
if isnull(@from,'')=''
begin
select @from = 'emailaddress@xxx.com.cn'
select @pwd = '1234'
end
set @bcc=''
EXEC @hr = sp_OACreate 'cdo.Message', @object OUT
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendusing").Value','2'
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/smtpserver").Value', '192.168.150.251'
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/usemessageresponsetext").Value','1'
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate").Value','1'
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendusername").Value', @from
EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/sendpassword").Value',@pwd
--EXEC @hr = sp_OASetProperty @object, 'Configuration.fields("http://schemas.microsoft.com/cdo/configuration/languagecode").Value','0x0804'
EXEC @hr = sp_OAMethod @object, 'Configuration.Fields.Update', null
EXEC @hr = sp_OASetProperty @object, 'To', @to
--EXEC @hr = sp_OASetProperty @object, 'BodyPart.Charset','big5'
EXEC @hr = sp_OASetProperty @object, 'Bcc', @bcc
EXEC @hr = sp_OASetProperty @object, 'Cc', @cc
EXEC @hr = sp_OASetProperty @object, 'From', @from
EXEC @hr = sp_OASetProperty @object, 'Subject', @title
EXEC @hr = sp_OASetProperty @object, 'BodyFormat', 'MailFormat.Html'
--EXEC @hr = sp_OASetProperty @object, 'BodyEncoding', 'UTF8'
EXEC @hr = sp_OASetProperty @object, 'HTMLBodyPart.Charset', 'Big5'
EXEC @hr = sp_OASetProperty @object, 'HtmlBody',@body
-- add attachment
--EXEC @hr = sp_OAMethod @object, 'AddAttachment', NULL
EXEC @hr = sp_OAMethod @object, 'Send', NULL
IF @hr <> 0
BEGIN
EXEC sp_OAGetErrorInfo @object
set @errnum=@hr
set @errMsg= @object
END
--PRINT 'success'
EXEC @hr = sp_OADestroy @object
set @errMsg=isnull(@errMsg,'')
GO
exec Sp_SendMail '','','dagger.li@nienmade.com.cn','','',N'中那個國',N'中那個國',''
相关推荐
ASP邮件系统:IIS+Access+CDO的轻量级邮件骨架实现
ASP(Active Server Pages)是一种经典的服务器端脚本技术,依托IIS运行,通过内置对象(如Request、Response、Session、Server)和COM组件(如CDO.Message、ADODB.Connection)实现动态Web功能。其核心原理在于脚本解释执行与Windows平台原生API深度集成,技术价值体现在零.NET依赖、低资源占用和极简部署——尤其适合老旧Windows服务器环境。典型应用场景包括内部通知系统、教育机构邮件中转、OA系统插件等对现代框架兼容性要求低但
MFC仓库管理系统实战:数据库事务与界面优化全解析
MFC作为Windows桌面应用开发的经典框架,其核心价值在于紧贴Win32 API、调试直观、教学适配度高,特别适合课程设计与轻量级本地业务系统开发。理解CRecordset数据封装、CDatabase事务控制(BeginTrans/CommitTrans)、虚拟列表(LVS_OWNERDATA)性能优化等关键技术,是保障超市仓库类系统数据强一致性与交互流畅性的基础。结合ODBC数据库连接、DDX/DDV数据绑定、GDI打印等原生能力,MFC能以极低依赖实现入库单生成、库存联动更新、滞销预警等闭环业务逻辑
PDF发票内容提取排版并结构化导出xlsx/cvs嵌入式ptyhon
【本地发票提取工具】 核心优势:不依赖传统粗糙 OCR,基于文字排版结构进行精准提取。仅“税网”下载及税网邮件发送的原版 PDF 发票(开票软件发送的不太支持)能实现开票明细级的秒级本地提取,告别只能提抬头、总额的尴尬。 可免费试用 3 天! 【用前须知】 去微软官网下载VC_redist.x64.exe运行修复运行库(必要的前置操作),之后再解压本工具rar,运行本exe即可。 VC_redist.x64.exe官网永久下载地址 https://learn.microsoft.com/zh-cn/cpp/windows/latest-supported-vc-redist 【安全须知】 个人开发暂未做代码签名,杀软可能会有误报拦截。遇到拦截请在杀软中添加信任/白名单即可。 VirusTotal扫描结果 2/61,主流杀软均通过,个别引擎因无签名误报。官网 virustotal.com 点击页面中间显眼的 “Choose file”(选择文件)按钮上传扫描。
110KV单电源电网三段式电流保护+距离继电保护整定计算说明报告(23页+6000字)
内容概要:本文是一份针对110kV单电源电网继电保护系统的综合性技术报告,系统阐述了三段式电流保护与距离保护的整定计算原理及工程应用方法。报告深入分析了电力系统短路故障的电气特征,依据国家及行业相关继电保护规程,详细推导并计算了各段保护的动作电流、动作时限及灵敏度系数,实现了主保护与后备保护之间的选择性配合。文中不仅涵盖了保护配置原则、整定计算公式的理论推导,还结合具体算例进行验证,对比分析了两种保护方式的优缺点、适用场景及协同工作机制,具有较强的理论深度与实践指导价值。; 适合人群:电气工程及其自动化专业的高年级本科生、研究生,以及从事电力系统规划设计、继电保护整定计算、变电站运维等工作的工程技术人员。; 使用场景及目标:①掌握高压输电线路三段式电流保护与距离保护的核心原理及整定流程;②用于实际电网中保护定值的计算、校验与优化调整;③作为高校电力系统继电保护课程设计、毕业设计或科研项目的参考技术资料。; 阅读建议:建议结合《电力系统分析》《继电保护原理》等教材同步研读,重点理解整定计算的逻辑步骤与参数选取依据,并推荐使用MATLAB或电力系统仿真软件对文中的算例进行建模验证,以加深对保护动作特性的理解。
基于Matlab的35KV三段式电流保护仿真设计
内容概要:本文系统阐述了基于Matlab/Simulink平台开展35KV三段式电流保护的仿真设计方法,深入剖析电力系统中短路故障特性及继电保护动作逻辑,重点实现瞬时速断、限时速断与过电流保护三段式保护的整定计算与协同配合。通过构建完整的35KV输电线路仿真模型,模拟多种故障工况下的电气量变化,验证保护装置的动作选择性、速动性、灵敏性和可靠性,全面展示从理论分析、参数整定到仿真建模与结果验证的完整设计流程,旨在深化对继电保护原理的理解与工程应用能力。; 适合人群:适用于具备电力系统分析、继电保护基本理论知识,且熟悉Matlab/Simulink仿真工具的电气工程专业本科生、研究生,以及从事电力系统规划设计、继电保护整定计算与运维工作的工程技术人员。; 使用场景及目标:①作为高等院校电力系统继电保护课程设计、毕业设计或实验教学的仿真实践参考;②服务于实际工程中35KV线路保护方案的前期验证与参数优化;③帮助学习者系统掌握三段式电流保护的整定原则、时限配合机制及仿真调试技巧。; 阅读建议:建议结合经典继电保护教材进行对照学习,先透彻理解保护原理与整定计算方法,再动手搭建仿真模型。应重点关注故障类型设置、保护定值计算、仿真波形分析等关键环节,并尝试改变系统参数或故障位置,观察保护动作行为的变化,以深入理解保护逻辑与系统特性的相互关系。


应用实例
