中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

sqlserver2008自動發送郵件
來源:易賢網 閱讀:1268 次 日期:2014-10-14 11:52:14
溫馨提示:易賢網小編為您整理了“sqlserver2008自動發送郵件”,方便廣大網友查閱!

這兩天都在搞這個東西,從開始的一點不懂,到現在自己可以獨立的完成這個功能!在這個過程中,CSDN的好多牛人都給了我很大的幫助,在此表示十二分的感謝!寫這篇文章,一是為了鞏固一下,二嘛我也很希望我寫的這點小東西能幫助遇到同樣問題的朋友們!當然這里有一部分是從網上的摘錄的

實現一個類似于注冊平臺的功能:比如注冊了一個用戶,就會向注冊郵箱里發送一封郵件。首先是要搭建一個自動發送郵件的平臺,這個用sql server 2008(sql server 2005也有)的database mail就能很方便的實現。這個完成了以后就能夠發送簡單的郵件了,但是這樣在應用中往往是不夠,我們還要需要建一個job來實現自動發送的功能。

database mail的構建有兩種方法,一是用configure database mail,另外一種是用sql語句完成。

這兩種方法中的服務器名字,我剛開始以為是隨便起一個就可以的,(以為sql server的database mail會自動把這個服務器名申請為一個可用的smtp服務器)后來貌似不是的。這里好像必須要是一個存在并且可用的smtp服務器名

如果想要刪除建立好的profile和account可以用如下語句

代碼如下:

DECLARE

@account_name sysname,

@profile_name sysname;

SELECT

@account_name = N'want_to_delete_Account'

@profile_name = N'want_to_delete_Profile';

-- 從郵件配置文件中刪除數據庫郵件帳號

EXEC msdb.dbo.sysmail_delete_profileaccount_sp

@profile_name = @profile_name,

@account_name = @account_name;

-- 刪除數據庫郵件帳號

EXEC msdb.dbo.sysmail_delete_account_sp

@account_name = @account_name;

-- 刪除數據庫郵件配置文件

EXEC msdb.dbo.sysmail_delete_profile_sp

@profile_name = @profile_name;

完成了database mail的搭建。下面我們就要開始完善自動發送郵件的功能。

我們要實現發送郵件的格式是:

尊敬的×××:---------------------------------------------titleName

感謝您的注冊,你的用戶名是××,密碼是××--------------------------object

你的滿意是我們最大的動力。----------------------------------------------------Conclusion

某某公司 ----------------------------------------------------------Inscribe

首先我們可以建兩個表:一個是AutoSendEmail記錄用戶ID和Email的信息;一個是EmailText,一個static table,里面存儲的是我們要發送的郵件的格式。

AutoSendEmail的主要字段有UserID,EmailAddress,EmailTextID(EmailText的一個外鍵)。這里的UserID對應的是一個User表,里面存有用戶的登錄名及登錄密碼。

EmailText的主要字段有EmailTextID,Subject(主題),titleName(稱呼),object(內容),Conclusion(結束語),Inscribe(落款)。可能看到這里,有人會認為EmailText表沒必要設計的這么麻煩。有EmailTextID,Subject和一個body就夠了,確實,但是這樣的話,內容中的排版格式比較麻煩。這樣設計一是為了格式方便,一個是為了和發送其他郵件格式統一。插入一行數據到EmailText表中

insert into EmailText (EmailTextID,Subject,TitleName,Object,Conclusion,Inscribe) values(1,'注冊成功','尊敬的<UserName>:','

感謝您申請注冊某某公司會員! 你的注冊帳號為<LoginName>,密碼為<Password>,請妥善保管您的密碼!','

感謝您對我們公司的支持!如果任何意見或建議,歡迎來電咨詢:123-456789。請不要回復此郵件!',' 某某公司')

這樣,用job每次遍歷AutoSendEmail,從中得到UserID和EmailTextID,然后根據UserID可以得到相應的登錄名和登錄密碼。同時根據EmailTextID,取出里面的titleName(稱呼),object(內容),Conclusion(結束語),Inscribe(落款)四個字段,用得到的登錄名和登錄密碼去替換<UserName> ,<LoginName>,<Password>這樣就可以拼湊成一封郵件的完整body。

為此,先建立一個procedure

代碼如下:

CREATE PROCEDURE [Services].[SendRegisteredEmail]

(

@UserID int,

@EmailAddress nvarchar(100)

-- @mailitem_id int OUTPUT

)

AS

declare @userName nvarchar(30)

declare @Login nvarchar(50)

declare @password nvarchar(50)

declare @regUserID int

declare @titleName nvarchar(100)

declare @titleResult nvarchar(100)

declare @object nvarchar(600)

declare @objectResult nvarchar(600)

declare @Subject1 nvarchar(100)

declare @Conclusion nvarchar(600)

declare @Inscrible nvarchar(100)

declare @result int

--declare @time datetime

declare @body1 nvarchar(max)

begin

select @userName=LastName from [Users].[User] where UserID=@UserID

select @Subject1=Subject,@titleName=TitleName ,@object=Object,@Conclusion=Conclusion,@Inscrible=Inscribe from [Services].[EmailText] where EmailTypeID=1

select @titleResult=replace(@titleName,'<UserName>',@userName)

select @Login=Login ,@password=Password from [Users].[RegisteredUser] where UserID=@UserID

select @objectResult=replace(@object,'<LoginName>',@Login)

select @objectResult=replace(@objectResult,'<LoginName>',@Login)

set @body1=@titleResult+N'<br>'+@objectResult+N'<br>'+@Conclusion+N'<br>'+@Inscrible

EXEC @result=msdb.dbo.sp_send_dbmail @profile_name='SurmountGroupProfile',

@recipients=@EmailAddress,

@subject= @Subject1,

@body = @body1,

@body_format = 'HTML';

return @result

end

上面代碼用了一個sql里的替換函數replace,該函數的用法是

用第三個表達式替換第一個字符串表達式中出現的所有第二個給定字符串表達式。

語法 REPLACE ( 'string_expression1' , 'string_expression2' , 'string_expression3' )

參數 'string_expression1' 待搜索的字符串表達式。string_expression1 可以是字符數據或二進制數據。

'string_expression2' 待查找的字符串表達式。string_expression2 可以是字符數據或二進制數據。

'string_expression3' 替換用的字符串表達式。string_expression3 可以是字符數據或二進制數據。

返回類型

如果 string_expression(1、2 或 3)是支持的字符數據類型之一,則返回字符數據。如果 string_expression(1、2 或 3)是支持的 binary 數據類型之一,則返回二進制數據。

msdb.dbo.sp_send_dbmail存儲過程是用于執行發送郵件的,返回值為0或是1。0代表發送成功,1為發送失敗

郵件的格式是用HTML形式顯示

有了這個存儲過程,那么只要用個建個job就可以了。job主要是為了實現某些需要數據庫自動處理的功能。

job里的command輸入如下代碼:

代碼如下:

declare @recordID int

declare @userID int

declare @email nvarchar(100)

declare @typeID int

declare @result int

declare EmailCursor cursor for select RecordID,UserID,EmailAddress,EmailTextID from AutoSendEmail

open EmailCursor

fetch next from EmailCursor into @recordID,@userID,@email,@typeID

While ( @@Fetch_Status=0 )

begin

if( @typeID=1)

begin

exec @result=SendRegisteredEmail @userID,@email

if(@result=0)

begin

delete from [Services].[AutoSendEmail] where RecordID=@recordID

end

end

fetch next from EmailCursor into @recordID,@userID,@email,@typeID

end

close EmailCursor

Deallocate EmailCursor

這里用游標遍歷AutoSendEmail表,job設定為每分鐘遍歷一次,如果發送成功,就把該行記錄給刪除。否則保留在表中,下次遍歷時,再次發送。

這樣一個簡單的應用型發送郵件功能就實現好了!

更多信息請查看IT技術專欄

更多信息請查看數據庫
易賢網手機網站地址:sqlserver2008自動發送郵件
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
久久欧美肥婆一二区| 亚洲一区二区三区四区中文| 午夜精品在线| 国产亚洲一级高清| 欧美h视频在线| 在线视频亚洲一区| 国产情侣一区| 欧美a级在线| 亚洲男女毛片无遮挡| 一区在线电影| 欧美吻胸吃奶大尺度电影| 欧美在线观看一区| 亚洲精品欧美激情| 国产精品自拍在线| 欧美高清影院| 欧美亚洲综合久久| 亚洲开发第一视频在线播放| 国产精品日韩久久久| 另类天堂av| 性感少妇一区| 日韩小视频在线观看| 激情小说另类小说亚洲欧美 | 欧美日韩色婷婷| 久久九九精品| 亚洲视频观看| 亚洲国产精品黑人久久久| 国产欧美一区在线| 欧美日韩日本视频| 欧美成人免费一级人片100| 香蕉久久夜色精品国产| 日韩视频不卡| 尤物在线精品| 国产欧美精品在线| 欧美视频一区二| 欧美国产丝袜视频| 久久精品免费| 午夜在线成人av| 一区二区三区成人| 日韩午夜一区| 亚洲人成在线观看| 尤物精品在线| 狠狠噜噜久久| 国产一区二区欧美| 国产丝袜一区二区| 国产精品美女久久| 欧美视频在线观看 亚洲欧| 欧美精品三级| 欧美aaa级| 美日韩精品视频| 久久久夜精品| 亚洲成人在线网站| 激情综合色综合久久| 国产欧美在线观看| 国产精品视频一区二区高潮| 欧美色123| 欧美日韩午夜视频在线观看| 女人香蕉久久**毛片精品| 久久夜色精品一区| 久久综合伊人77777尤物| 久久精品国产99国产精品| 欧美在线免费看| 性亚洲最疯狂xxxx高清| 亚洲男人第一网站| 欧美一级二区| 欧美一区免费| 久久久www成人免费精品| 欧美在线影院| 久久久久久91香蕉国产| 久热精品视频在线| 老司机午夜免费精品视频 | 欧美成年人视频| 欧美成人首页| 欧美国产精品中文字幕| 欧美激情亚洲国产| 欧美精品久久久久久久免费观看| 欧美大尺度在线观看| 欧美人妖在线观看| 欧美天天视频| 国产日韩欧美中文| 激情久久久久久久久久久久久久久久| 韩国av一区二区| 亚洲第一精品影视| 亚洲人成网站在线播| 一区二区三区四区五区精品视频 | 在线观看一区二区精品视频| 狠狠干综合网| 91久久在线观看| 宅男噜噜噜66一区二区| 亚洲一区二区精品视频| 久久国产视频网| 老鸭窝91久久精品色噜噜导演| 欧美成人69av| 国产精品jvid在线观看蜜臀| 国产精品亚洲а∨天堂免在线| 国产亚洲一区在线| 亚洲成人中文| 亚洲视频一二| 久久精品中文字幕一区| 免费观看国产成人| 欧美日韩一区二区视频在线观看| 国产精品美女久久久久久久| 精品不卡在线| 中国日韩欧美久久久久久久久| 亚洲国产日韩欧美在线图片| 亚洲一级一区| 久久久噜噜噜久久中文字幕色伊伊| 免费日韩成人| 欧美日韩一区二区三区免费 | 欧美激情综合亚洲一二区| 伊大人香蕉综合8在线视| 久久精品中文| 老鸭窝毛片一区二区三区| 日韩视频精品在线观看| 国产在线国偷精品产拍免费yy| 欧美日韩不卡视频| 欧美高清在线播放| 欧美日韩一区高清| 狼人社综合社区| 一区二区三区回区在观看免费视频| 国产精品美女久久久| 久久在精品线影院精品国产| 久久男人资源视频| 一本色道久久综合亚洲91| 国产日产欧美一区| 久久这里有精品15一区二区三区| 午夜精品久久久| 国产亚洲福利社区一区| 国产一区二区三区四区老人| 在线成人h网| 日韩亚洲欧美一区二区三区| 亚洲一本视频| 欧美日韩综合在线| 夜夜嗨av一区二区三区| 欧美久久一级| 一区二区激情视频| 欧美日韩精品一区视频| 亚洲免费观看高清在线观看 | 国产精品自拍一区| 亚洲影院色无极综合| 国产精品mv在线观看| 亚洲午夜免费视频| 国产精品成人观看视频国产奇米| 亚洲视频精品| 国产精品jizz在线观看美国| 亚洲网站在线| 国产精品网站在线| 欧美一区免费视频| 狠狠综合久久av一区二区小说| 久久蜜桃资源一区二区老牛 | 欧美破处大片在线视频| 亚洲精品国精品久久99热一| 欧美风情在线观看| aa级大片欧美三级| 欧美视频精品在线观看| 亚洲在线第一页| 国产一区二区毛片| 久久久精品免费视频| 亚洲第一精品福利| 欧美看片网站| 亚洲一区二区在线播放| 国产色婷婷国产综合在线理论片a| 欧美在线高清视频| 亚洲激情国产| 欧美午夜精品理论片a级大开眼界| 香蕉久久一区二区不卡无毒影院| 国产日韩在线亚洲字幕中文| 久久www成人_看片免费不卡| 最近中文字幕日韩精品| 欧美婷婷久久| 久久婷婷综合激情| 亚洲免费成人| 国产精品亚洲综合一区在线观看| 久久久久久穴| 日韩一区二区免费看| 国产三级欧美三级日产三级99| 免费观看成人| 亚洲综合999| 狠狠色丁香久久婷婷综合_中| 欧美福利在线| 午夜精品久久久99热福利| 影音先锋久久久| 欧美日韩麻豆| 欧美在线首页| 99在线精品视频| 国产人妖伪娘一区91| 欧美**字幕| 亚洲欧美国产77777| 在线免费观看日韩欧美| 国产精品久久久久av| 久久久精品久久久久| 日韩一级大片在线| 国产日产亚洲精品| 欧美精品久久99| 久久久精品999| 亚洲作爱视频| 黄色成人精品网站| 国产精品久久激情| 欧美激情国产日韩| 欧美一区网站| 在线视频精品一区|