SQL SERVER 发邮箱

SQL Server的视图和函数 一、实验目的和要求 1、理解创建视图Create view语句的语句格式和功能,掌握视图创建三个选项的含义。 2、理解创建视图时的注意点,掌握视图的使用方法。 3、理解常用内置函数的使用方法,掌握用户定义函数的使用方法。 4、要求学生在每次实验前,根据实验目的和内容设计出本次实验的具体步骤;在实验过程中,要求独立进行程序调试和排错,学会使用在线帮助和运用理论知识来分析和解决实验中遇 阅读详情

 1.内容为表格模式

--物品放行单,还未回厂的单发送邮件

CREATE proc [dbo].[Ex_sendmail13_BPM] 
as 
begin
declare @subject nvarchar(4000)
declare @cbody nvarchar(4000)
declare @recipients nvarchar(4000)
declare @copy_recipients nvarchar(4000)
declare @SqlCommandText nvarchar(4000)
declare @file_attachments nvarchar(4000)
declare @sqlcompare nvarchar(4000)
declare @body nvarchar(max)
DECLARE @email NVARCHAR(2000)
DECLARE @email2 NVARCHAR(4000)
DECLARE @taskid INT

	--等待5秒后執行,目的是生成PDF檔時需要時間
	--WAITFOR DELAY'00:00:05'
	
	
	SET @copy_recipients=''
	SET @file_attachments=''
	SET @subject='物品放行还未回厂明细'
	SET @cbody=''
	
    
	DECLARE curimadmwp2 CURSOR for  SELECT DISTINCT UV_ADMWP.TASKID FROM NewCloudDBHL.dbo.UV_ADMWP LEFT JOIN NewCloudDBHL.dbo.SYSBPMITasks ON UV_ADMWP.TASKID = SYSBPMITasks.TaskId 
WHERE SYSBPMITasks.Status =0  
AND WP013<=GETDATE()
AND  EXISTS
(SELECT * FROM NewCloudDBHL.dbo.SYSBPMISteps WHERE ProcessGuid='05320653-d69e-4bf4-b4d7-fd203e292573'AND NodeId IN(8,44) AND FinishOn IS NOT NULL
AND UV_ADMWP.TASKID=SYSBPMISteps.TaskId)
	open curimadmwp2 
	fetch next from curimadmwp2 into @taskid
	while @@FETCH_STATUS =0
	begin 
		SET @email2=''
		SET @recipients=''
	    declare curimadmwp3 cursor for SELECT Email FROM NewCloudDBHL.dbo.SYSUser WHERE Account IN(
												SELECT  OwnerAccount FROM NewCloudDBHL.dbo.SYSBPMISteps WHERE TaskId=@taskid AND ActionLinkName IN('提交','同意')
												) 
												AND NewCloudDBHL.dbo.SYSUser.Active=1
		  open curimadmwp3 
			 fetch next from curimadmwp3 into @email2
			while @@FETCH_STATUS =0
			begin 	
				SET @recipients+=@email2+';'
				
			fetch next from curimadmwp3 into @email2
			end
			close curimadmwp3
			deallocate curimadmwp3    
		
		set @cbody= 
       N'<H1>您們好</H1><br>此邮件为系统自动产生<br></H1><br>附件為携出物品未回厂明細!请勿回复!<br><table border="1">' +  
           N'<tr><th>任務號</th><th>流水號</th><th>申請人</th><th>姓名</th><th>部門</th><th>廠商</th><th>回廠否</th><th>携出日期</th><th>物品名稱</th><th>數量</th><th>携出用途</th><th>預計回廠日期</th><th>實際回廠日期</th><th>回廠消單人</th><th>消單人姓名</th></tr>' +  
																																										
    CAST ( ( select td=A,'',td=B,'',td=C,'',td=D,'',td=E, '',td=F, '',td=G, '',td=H, '',td=I, '',td=J, '',td=K, '',td=L, '',td=M, '',td=N, '',td=O From 
    (
SELECT TASKID A,RECORD_ID B,WP001 C,WP002 D,WP004 E,WP007 F,WP008 G,WP009 H,WP010 I,WP011 J,WP012 K,WP013 L,WP014 M,WP015 N,WP016 O FROM  NewCloudDBHL.dbo.UV_ADMWP WHERE taskid=@taskid)a
              FOR XML PATH('tr'), ELEMENTS 
    ) AS NVARCHAR(MAX) ) +
    N'</table>'	
	
	
		EXEC msdb.dbo.sp_send_dbmail @profile_name ='OAMAIL',
		@recipients=@recipients,
		@copy_recipients=@copy_recipients,
		@blind_copy_recipients='llf@163.com.cn',
		@subject = @subject,
		@body =@cbody,  
		@file_attachments =@file_attachments,
		@body_format = 'HTML' ;
		
fetch next from curimadmwp2 into @taskid
	end
	close curimadmwp2 
	deallocate curimadmwp2

end

2.插入附件模式

--OA採購變更單發郵件給供應商

CREATE proc [dbo].[Ex_sendmail4_BPM] @TASKID INT  
as 
begin
declare @subject nvarchar(4000)
declare @cbody nvarchar(4000)
declare @recipients nvarchar(4000)
declare @copy_recipients nvarchar(4000)
declare @SqlCommandText nvarchar(4000)
declare @file_attachments nvarchar(4000)
declare @sqlcompare nvarchar(4000)
declare @body nvarchar(max)
DECLARE @PNA01 NVARCHAR(50)
DECLARE @PNA02 NVARCHAR(50)
DECLARE @PMC03 NVARCHAR(50)
DECLARE @PMM09 NVARCHAR(50)
DECLARE @PNAUSER NVARCHAR(50)
DECLARE @AZF03 NVARCHAR(100)
DECLARE @email NVARCHAR(2000)

	--等待5秒后執行,目的是生成PDF檔時需要時間
	--WAITFOR DELAY'00:00:05'
	
	SET @recipients=''
    SELECT @PNA01=PNA01,@PNA02=PNA02,@PMC03=PMC03,@PMM09=PMM09,@PNAUSER=PNAUSER,@AZF03=azf03 FROM NewCloudDBM.dbo.UT_ERPTF WHERE TASKID=@TASKID
    
    SELECT @copy_recipients = Email from NewCloudDBM.dbo.SYSUser
         WHERE  Account=@PNAUSER
     
    --SET @sqlcompare ='select pmc12 from pmc_file where pmc01='''+@TM002+'''' 
    --SET @sqlcompare = REPLACE(@sqlcompare,'''','''''')
    --SET @SqlCommandText= N'SELECT @recipients=isnull(pmc12,'''') from openquery(tip,'''+@sqlcompare+''')'     
    --exec sp_executesql @SqlCommandText,N'@recipients nvarchar(4000) out',@recipients output
    
    declare curimerptm cursor for SELECT EMAIL FROM NewCloudDBM.dbo.UT_PURMAIL WHERE LOWER(PUR_NO) = LOWER(@PMM09)
      open curimerptm 
		 fetch next from curimerptm into @email
		while @@FETCH_STATUS =0
		begin 
			SET @recipients+=@email+';'
			
		fetch next from curimerptm into @email
		end
		close curimerptm 
		deallocate curimerptm
		
	PRINT @recipients
	
	SET @file_attachments='C:\採購變更單-'+@PMC03+'.PDF'
	--SET @recipients='fhq@melton.com.cn;litao@melton.com.cn;llf@melton.com.cn;scraper@melton.com.cn'

	--PRINT @SqlCommandText 
	--PRINT @recipients
	--PRINT @file_attachments
	SET @subject='XX(東莞)有限公司(採購變更單 - '+@PMC03+')--變更原因:'+@AZF03
	SET @cbody='您好~  此邮件为系统自动产生,附件為採購變更單!请勿直接回复。  採購單號:'+@PNA01 +'  變更項次:'+@PNA02
	
	
	--IF @recipients <>'' AND (CHARINDEX('com',@recipients)>0 OR CHARINDEX('cn',@recipients)>0)
	--BEGIN 
		EXEC msdb.dbo.sp_send_dbmail @profile_name ='OAMAIL',
		@recipients=@recipients,
		@copy_recipients=@copy_recipients,
		@blind_copy_recipients='llf@melton.com.cn',
		@subject = @subject,
		@body =@cbody,  
		@file_attachments =@file_attachments,
		@body_format = 'HTML' ;
	--END
	
    EXEC('master..xp_cmdshell ''del '+@file_attachments+''',no_output')
    
end

SQL Server 实现邮件发送功能(配置步骤及存储过程源码) 本文介绍了利用SQL Server实现邮件推送功能的详细步骤:1)通过数据库邮件配置向导设置邮件服务器参数,包括企业邮箱服务器地址、账号信息等;2)编写存储过程SP_SendWIPReport,实现查询在制数据、获取收件人信息、构造HTML格式邮件内容和生成Excel附件等功能;3)使用sp_send_dbmail系统存储过程发送包含HTML表格和附件的邮件。该方法适用于企业系统中自动发送业务报表等场景,通过SQL Server直接实现无需额外开发邮件发送程序。 阅读详情

相关推荐

SQL Server通过存储过程实现自定义邮件格式并定时发送

SQL Server能够通过SQL语句实现邮件发送HTML页面并推送给指定用户。本文主要分享一个案例,工厂间通过SQL存储过程自定义邮件格式,并发送给工厂中的指定员工。

shenjqiang的专栏 750

SQLServer -> 发邮件功能

用SQL自动发邮件需要三步 1,做一个配置文件 2,调用存储过程msdb.dbo.sp_send_dbmail 3, 创建作业 1.右键->【配置数据库邮件】 配置好了之后可以测试能否发送邮件 进去邮箱查看是否收到邮件或者数据库查询 select * from msdb.dbo.sysmail_all...

caoyanchao1的博客 1685

sqlserver如何设置定时任务并发送邮件

参考:「Pbi报表服务器3」SQL SERVER创建数据库并实现数据每日自动更新 用sqlserver数据库的作业实现邮件提醒 - 拓荒er - 博客园 SQLServer Job 邮件发送_Karl_zhujt的博客-优快云博客 现在需要每天定时把一个数据库上的文件备份到另一个数据库 一、首先创建一个存储过程,然后测试: USE [Test] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO create PROCEDURE [db

2903

SQLServer利用QQ邮箱做SMTP服务器发邮件

三招教你用QQ邮箱做SMTP服务器,还可部署在SQL Server上哦~

āáǎà 1779

25. 【SQL Server】64. 查找重复的电子邮箱

编写一个 SQL 查询,查找 Person 表中所有重复的电子邮箱。:所有电子邮箱都是小写字母。

Pretty Boy Fox的博客 225

36. 【SQL Server】60. 删除重复的电子邮箱

编写一个 SQL 查询,来删除Person表中所有重复的电子邮箱,重复的邮箱里只保留 Id 最小 的那个。例如,在运行你的查询语句之后,上面的Person。

Pretty Boy Fox的博客 167

聘net高级程序员及程序员(深圳)

公司现在因项目需要,诚邀符合下列条件的专业人士加盟. blogyuan上的朋友,有意者请发个人简历到公司人力资源部. 想要对公司有所了解的朋友可到公司网站查询 http://www.softrich.com.cn/ 软件工程师(A类)一名 1.计算机相关专业,本科以上 2.三年工作经验,两年以上ASP/.NET,C#程序设计经验 3.熟悉HTML,Javaseript 4.具有较...

weixin_30487701的博客 100

使用sqlserver存储过程sp_send_dbmail发送邮件配置方法(图文)

用图文的方式介绍了使用sqlserver存储过程sp_send_dbmail发送邮件的方法,大家参考使用吧

SQL Server+QQ邮箱使用触发器发送邮件(照搬这两招即可实现)

1.QQ邮箱配置 进入QQ邮箱点击设置 点击账户TAB 开启 POP3/SMTP服务和IMAP/SMTP服务 *开启服务后会生产授权码的,这个授权码要记下来,下面会用到 2.SQL配置   step1  :启用sql server 邮件的功能 -- 启用 sql server 邮件的功能 EXEC sp_configure 'show advanced options...

Who am Sinclair 2918

【yolov8】与yolov5的区别及改进详解

yolov8-----有点厉害的目标检测框架.

qq_44878985的博客 3万+

Ubuntu 20.04 系统备份和还原

最近大家Ubuntu开发环境,经常出现搭着搭着系统就挂了,于是开始琢磨了Ubuntu系统的备份和还原,以备不时之需,Linux环境搭建实在是有点太细,好多情况下,就算曾经搭建过一遍,再次搭建有些包还是忘了安装,做好备份是十分必要的。 经过了一番研究,Ubuntu备份有很多方式:根目录tar、dd、Systemback(1.0版本已经不维护了,2.0版本收费)等等,最终决定使用 —— Timesift, 因为方便一些。 文章参考:小马虎的救星——Timeshift Timeshift Timeshift,是L

Z_Paper的博客 2万+

在SQL Server中,不使用“SQL 邮件”的情况下发送邮件

 1、SET QUOTED_IDENTIFIER ON GOSET ANSI_NULLS ON GOALTER  PROCEDURE usp_SendMail @To varchar(100) ,@Subject varchar(400)= , @Body varchar(8000) =  AS Declare @object int Declare @hr int EXEC @h

寒冬玉 1513

Marin说PCB之LPDDR5的布线注意事项--03

这个规则中是把每个字节中的WCK to RDQS 以及DM / DQ to WCK等长规则都加到了DM / DQ这个等长规则中去了,因为芯片手册上的设计要求中的DM / DQ这个group的等长误差是+-50MIL, WCK to RDQS的等长group的规则是62.5MIL,DM / DQ to WCK等长group的规则是相对松一些是150MIL。其实上面的等长规则还是建少了一些的,例如手册上要求的每个channel的WCK0:1,WCK2:3等长误差在+-488MIL,这个规则建议还是补上去吧。

weixin_45223454的博客 1230

SQL Server 配置数据库邮箱(腾讯企业邮箱/QQ邮箱)提示由于邮件服务器故障,无法将邮件发送给收件人

常见问题导致的不详细解说,自行检查: 1、QQ邮箱需要启用SMTP,使用独立密码 2、必须要勾选SSL 3、杀毒软件及防火墙因素的排除 除了以上问题,在配置的正确的情况下,反复测试都不行,最终在QQ邮箱配置outlook那里看到使用端口号465或587。于是把常用端口号465改为587测试成功,这个困扰我几天的问题终于解决。具体原因未知,465端口使用foxmail或者其它工具均可使用。 ...

w804241543的博客 4809

【脑电信号处理与特征提取】P2-夏晓磊:脑电的神经起源与测量

ElectroEncephaloGraphyTherefore, EEG produces a graphed representation of the electrical activity occurring in a person’s brain.(把一个人的大脑中的电活动画出来)脑电头皮表面记录到的大脑活动产生的电信号(微伏)。(记录位置:硬脑膜/大脑皮层表面- ECoG,神经元群- LFP与MUR/MUA:活动位置:心电、眼电、肌电等)脑电图电压随时间变化的波形图。

m0_51474171的博客 1894

以GD32F103C8T6为例的核心板原理图PCB绘制学习笔记简单总结

重点在supplier part是立创商城的编号,可以搜到。

2301_80397661的博客 3263

sql判断邮箱是否合法_mssql sqlserver sql脚本检测字符串是否为合法的邮箱地址的方法分享...

摘要:下文讲述使用sql脚本的方式验证字符串为合法邮箱地址的方法分享,如下所示:实验环境:sql server 2008 R2在进行合法邮箱的验证前,我们必须熟知一个正确邮箱地址具有哪些特性:1.邮箱地址必须小于30位,并且3位2.邮箱地址至少包含一个@3.邮箱地址至少包含一个点4.最后一个@后面必须包含一个点5.邮箱地址不能以@或点结尾6.邮箱地址必须以数字或英文或下划线开始/*定义一个邮箱验证...

weixin_29882269的博客 1755

SAP S/4HANA 数据 API 化与 MCP 集成全流程实战指南

通过 RAP 发布 OData、利用 Communication Arrangement 打通外网、再在 MCP-server 里封装函数签名,你就能把 S/4HANA 的核心数据安全、标准化地暴露给任意支持 MCP 的大模型。这条链路的每一个环节都由 SAP 与 MCP 社区提供了现成框架,既兼顾了企业合规,也让 LLM 落地更为轻量。期待你在项目里把这些拼图真正串联起来,让业务数据与生成式 AI 碰撞出高价值的火花。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 978

sql server 发邮件

--1. 启用 SQL Server 邮件功能。 use master go exec sp_configure 'show advanced options',1 go reconfigure go exec sp_configure 'Database mail XPs',1 go reconfigure go --2. 在 SQL Server 中添加邮件帐户(account) ex...

sinat_33760429的博客 254

YOLO26改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进

1️⃣ 什么!不知道如何改进模型⁉️ 本专栏已更新260多种不同的改进方法,所使用并改进的每一个模块均包含详细的模块分析、原理讲解、个人总结、多种改进方式以及完整的修改流程,所有改进100%可直接运行,性价比极高。2️⃣ 找不到合适的模块⁉️ 所有改进点均为近三年顶会,顶刊提出的先进算法,将其融入到中,并进行二次创新,新颖度高,创新度高,能够适应不同的任务场景。3️⃣ 不确定自己改进的步骤、结果是否正确⁉️ 订阅专栏即可进群享受模型训练、模型改进、论文写作、投稿选刊,从入门到论文的各种答疑内容,非常适合新手

Limiiiing的博客 6377

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

数据库大作业——基于C#和SQL Server的简单日常记账系统

一个基于C#和SQL Server的简单日常记账系统

wen_txw的博客 5127

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

SQL Server 2005 配置发送邮件

这个教程是使用SQL Server Management Studio的管理工具完成配置的,其实这个配置也可以通过一系列的SQL语句完成配置。 使用SQL语句完成配置的请参看后面文章:http://www.sqlstudy.com/sql_article.php?id=2008072403配置前说明:就像我们其他场景发送邮件一样,我们需要配置SMTP服务器地址,账户, 密码,邮箱等信息。

kongxiangqi的专栏 397

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

SQL Server 邮箱告警配置

目录 配置数据库邮件 * 手动启用数据库邮件功能 * 配置数据库邮件 * 测试数据库邮件 实现 JOB 任务运行状态的检测 * 定义操作员 * 新建死锁警报 * 设置 SQL Server 代理 创建 Profile 及映射 * 添加 Profile * 映射 Account 和 Profile 配置 Job 发送 Database Log Space 邮件 * 新建 Job * 测试 Job 一、配置数据库邮件 1.手动启用数据库邮件功能 需执行以下脚本: exe

Ruishine的博客 1482

VS2015打包发布SQL Server Express

最近把一个WinForms项目从VS2010迁移到VS2015,遇到SQL Server Express打包问题,折腾了好几天,解决过程曲折离奇,所以记录分享一下。VS2010打包SQL Server Express数据库先回顾一下VS2010中怎么打包SQL Server Express。 VS2010自带安装项目模版,新建一个安装项目,就可以很方便地打包WinForm产品。 在安装项目属性中

SunnyTrudeau的博客 7902

删除重复的电子邮箱sql

删除重复的电子邮箱(力扣) 题目 编写一个 SQL 查询,来删除 Person 表中所有重复的电子邮箱,重复的邮箱里只保留 Id 最小 的那个。 ±—±-----------------+ | Id | Email | ±—±-----------------+ | 1 | john@example.com | | 2 | bob@example.com | | 3 ...

qq_39167028的博客 370
上一篇: 关于System.Web.HttpContext.Current.Session 为 null的问题
下一篇: 易飞通用审核接口+生成单据
s01896
博客等级 码龄14年 78粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值