利用SqlServer系統儲存過程sp_send_dbmail傳送郵件例項(二)
上一節已經講解了如何在資料庫中配置資料庫郵件傳送(備註: 資料庫郵件功能是 基於SMTP實現的,首先在系統中 配置SMTP功能。即 在 “新增/刪除程式”皮膚中 “增加/刪除WINDOWS元件”,選中並雙擊 開啟"IIS"或 “應用程式”,勾選 "SMTP SERVICE"然後 一路 點“下一步”即可。一般不需要這一步,直接配置即可)
完成配置後,我們可以結合儲存過程和Job來實現定時從資料庫傳送郵件:
1、建立儲存過程,在新建的儲存過程中呼叫sp_send_dbmail儲存過程(注:程式碼中的\'只是新增程式碼時自動新增的跳脫字元,實質程式碼中只有單引號)
二、建立Job(SqlServer代理->作業),設定執行引數,定時執行此儲存過程,即可實現定時傳送郵件效果。
完成配置後,我們可以結合儲存過程和Job來實現定時從資料庫傳送郵件:
1、建立儲存過程,在新建的儲存過程中呼叫sp_send_dbmail儲存過程(注:程式碼中的\'只是新增程式碼時自動新增的跳脫字元,實質程式碼中只有單引號)
點選(此處)摺疊或開啟
-
Create PROCEDURE [dbo].[sp_send_error_alert]
-
AS
-
declare
-
@v_content nvarchar(max),
-
@v_mail_to nvarchar(500),
-
@v_body nvarchar(max),
-
@v_titile nvarchar(100)
-
,@v_br_id nvarchar(50)
-
,@v_installments nvarchar(10)
-
,@v_remark nvarchar(100)
-
BEGIN
-
SET NOCOUNT ON;
-
set @v_titile=\'測試郵件內容標題;
-
set @v_content=\'\';
-
-
DECLARE cursor_repayment CURSOR FOR
-
SELECT
-
br_id
-
,installments
-
,remark
-
from dw_account_repayment t
-
where
-
status!=1
-
and is_del=0
-
order by t.add_datetime desc;
-
-
OPEN cursor_repayment
-
FETCH NEXT FROM cursor_repayment INTO
-
@v_br_id --標ID
-
,@v_installments --期數
-
,@v_remark --錯誤描述
-
WHILE @@FETCH_STATUS=0
-
BEGIN
-
-
set @v_content=@v_content+\'<tr><td>\'+@v_br_id+\'</td>\'+\'<td>\'+@v_installments+\'</td>\'+\'<td>\'+@v_remark+\'</td></tr>\';
-
-
fetch next from cursor_repayment into
-
@v_br_id --標ID
-
,@v_installments --期數
-
,@v_remark --錯誤描述
-
end;
-
-
CLOSE cursor_repayment; --關閉遊標
-
DEALLOCATE cursor_repayment; --清空遊標
-
-
if LEN(@v_content)>0
-
begin
-
SET @v_body =\'<html><H1>自動還款所有異常列表</H1><body bgcolor=white><table border = 1><tr><th>標ID</th><th>期數</th><th>錯誤描述</th></tr>\'
-
SET @v_body = @v_body + @v_content +\'</table></body></html>\'
-
EXEC msdb.dbo.sp_send_dbmail
-
@recipients =N\'接收使用者地址1@qq.com;接收使用者地址2@qq.com\',@body = @v_body,@body_format =\'HTML\'
- ,@subject =@v_titile,@profile_name =\'上一節點的配置檔名(db_profiler)\
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28699126/viewspace-1074615/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 利用sqlserver Job 及內嵌儲存過程傳送郵件SQLServer儲存過程
- Oracle 傳送郵件的儲存過程Oracle儲存過程
- 在SQL Server中使用儲存過程傳送電子郵件SQLServer儲存過程
- 教程-Python例項-傳送郵件功能Python
- ASP.net傳送郵件的例項ASP.NET
- SQLSERVER儲存過程SQLServer儲存過程
- 功能較全的oracle傳送郵件過程Oracle
- 利用UTL_SMTP傳送郵件
- python傳送郵件例項 - 使用smtplib模組Python
- 如何利用PHP通過mail方法傳送郵件【轉】PHPAI
- Java Mail 郵件傳送(二):簡單封裝的郵件傳送JavaAI封裝
- 利用Oracle資料庫傳送郵件Oracle資料庫
- mysql 儲存過程簡單例項MySql儲存過程單例
- PHP呼叫MYSQL儲存過程例項PHPMySql儲存過程
- mysql儲存過程簡單例項MySql儲存過程單例
- SpringBoot傳送郵件(二)Spring Boot
- 為什麼郵件系統不能用來大量傳送郵件
- 成功透過ORACLE傳送郵件Oracle
- 系統 儲存過程儲存過程
- 郵件傳送
- 傳送郵件
- php 傳送郵件(以QQ為例)PHP
- Sqlserver中的儲存過程SQLServer儲存過程
- Mix PHP V2 例項:協程池非同步郵件傳送守護程式PHP非同步
- iOS12系統應用傳送普通郵件構建郵件iOS
- SpringBoot整合Mail傳送郵件&傳送模板郵件Spring BootAI
- Azure : 通過 SendGrid 傳送郵件
- BI Publisher通過MuseMail傳送郵件AI
- 在ASP.NET中傳送電子郵件的例項教程ASP.NET
- Laravel 傳送郵件Laravel
- PHP傳送郵件PHP
- Django——郵件傳送Django
- java郵件傳送Java
- Laravel傳送郵件Laravel
- gmail傳送郵件AI
- Oracle郵件傳送Oracle
- java傳送郵件Java
- Powershell郵件傳送