亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 1.txt

?? 使用ACTIVE控件JMail代替SQL Mail發送電子郵件
?? TXT
字號:
 使用第三方系統支持
    微軟MSDN稱:“如果您使用的是第三方郵件服務器,則必須將郵件服務器配置為 POP3 服務器。如果這些郵件服務器使用的本地郵件服務可能是由第三方郵件客戶端安裝的,Microsoft 將不支持連接到這些服務器”。這就意味著你還要使用Windows平臺的郵件服務,使用ASP編寫網站的朋友一定都知道,Cdonts.dll組件實在是……。
面對這些問題,筆者就變成了我剛才說的那70%了,雖然爬網無數,讀文字數萬把Sql Mail配置好了,但是我仍然絕對放棄,因為我不想在做第2臺、第3臺……的時候重蹈覆轍。替代的方案就是Jmail組件+OLE自動化對象,以上的問題迎刃而解。

    預備知識
    1.OLE自動化函數
    OLE自動化使應用程序能夠對另一個應用程序中實現的對象進行操作,或者將對象公開以便可以對其進行操作。自動化客戶端是可對屬于另一個應用程序的公開對象進行操作的應用程序,本文值得是Sql Server。公開對象的應用程序稱為自動化服務器,又成為自動化組件,本文中即Jmail組件咯。客戶端通過訪問應用程序對象的屬性和函數對這些對象進行操作。
    在Sql Server使用Ole組件的途徑是幾個系統擴展存儲過程sp_OACreate、sp_OADestroy、sp_OAGetErrorInfo、sp_OAMethod、sp_OASetProperty和sp_OAGetProperty,再次簡單地介紹一下使用方法,詳細資料參考Sql Server聯機叢書。
    OLE自動化對象的使用方法:
    (1)調用 sp_OACreate 創建對象。
    格式:sp_OACreate clsid,objecttoken OUTPUT [ , context ]
    參數:clsid——是要創建的 OLE 對象的程序標識符 (ProgID)。此字符串描述該 OLE 對象的類,其形式,如 'OLEComponent.Object',OLEComponent 是 OLE 自動化服務器的組件名稱,Object 是 OLE 對象名,本文中使用的“JMail.Message”;
Objecttoken——是返回的對象標志,并且必須是數據類型為 int 的局部變量。用于標識所創建的 OLE 對象,并將在調用其它 OLE 自動化存儲過程時使用。本文中就是通過它來調用JMail.Message組件的屬性和方法的。
    Context——指定新創建的 OLE 對象要在其中運行的執行上下文。本文不使用該參數,故不贅述。以下與此一致,所有方法屬性的其他用法請參閱Sql Server聯機文檔。
    (2)使用該對象。 
    (a)調用 sp_OAGetProperty 獲取屬性值。
    格式:_OAGetProperty objecttoken,propertyname [, propertyvalue OUTPUT]
    參數:(前面出現過的參數,以下均省略。)
    Propertyname——對象的屬性名稱;
    Propertyvalue——返回的對象的屬性值,該參數帶OUTPUT屬性,執行該操作后,你就可以從propertyvalue中得到屬性的值了。
    (b)調用 sp_OASetProperty 將屬性設為新值。
    格式:sp_OASetProperty objecttoken, propertyname, propertyvalue
    (c)調用 sp_OAMethod 以調用某個方法。
    格式:sp_OAMethod objecttoken, methodname [, returnvalue OUTPUT] [ , [ parametername = ] parametervalue  [...n]] 
    參數:Returnvalue——調用方法的返回值,如果沒有返回值,此參數設置為NULL;
    Parametername——方法定義中的參數名稱,也就是形參;
    Parametervalue——參數值;
    ……n——表示,可以帶很多參數,個數由方法定義限制;
    (d)調用 sp_OAGetErrorInfo 獲取最新的錯誤信息。 
    格式:sp_OAGetErrorInfo [objecttoken ] [, source OUTPUT] [, description OUTPUT]
    參數:Source——錯誤源;
    Description——錯誤描述;
    (3)調用 sp_OADestroy 釋放對象。
    格式:sp_OADestroy objecttoken

    2.xp_cmdshell擴展存儲過程
    該擴展存儲過程在master數據庫中,它的全路徑是master..xp_cmdshell(注意,中間是2個點),它的功能是:以操作系統命令行解釋器的方式執行給定的命令字符串,并以文本行方式返回任何輸出。
    格式:xp_cmdshell {'command_string'} [, no_output]
    參數:'command_string'——是在操作系統命令行解釋器上執行的命令字符串。
    no_output——是可選參數,表示執行給定的 command_string,但不向客戶端返回任何輸出。本文應用中不使用該參數。

    操作方法
    (1)軟件準備
    請先到http://www.dimac.net/或者國內提供組件下載的網站下載最新版的JMail組件,如果你得到的是安裝版,執行weJMailx.exe即可,系統的配置安裝程序會自動完成。如果只有一個JMail.dll文件,請按照下面的步驟安裝:
    (a)新建文本文件,輸入如下命令:
    regsvr32 JMail.dll
    net start w3svc
    另存為Install.Bat(注意,千萬不要保存成Install.Bat.Txt啊)
    (b)此文件連同Jmail.dll一起拷貝到Sql Server數據庫服務器的System32目錄下,并執行雙擊Install.Bat即可。
    (2)準備好了嗎?跟我來吧
    (a)運行Sql Server查詢分析器,并以sa身份登錄到Sql Server數據庫;
    (b)如果你的存儲過程要添加到YourDefaultCatalog數據庫,請在空白Sql窗口輸入如下指令,否則請相應修改數據庫名。
    Use YourDefaultCatalog
    按F5或者運行按鈕運行該指令;
    (c)創建基本發送存儲過程
    復制如下代碼到Sql Server命令窗口,并運行。下面的代碼中有相應的注釋,文中不多做解釋,如有疑問請查看前面的“預備知識”或者查詢Sql Server幫助文件,當然也可以和作者聯系。

Create Procedure dbo.sp_jmail_send
@sender varchar(100),
@sendername varchar(100)='',
@serveraddress varchar(255)='SMTP服務器地址',
@MailServerUserName varchar(255)=null,
@MailServerPassword varchar(255)=null,
@recipient varchar(255),
@recipientBCC varchar(200)=null,
@recipientBCCName varchar(200)=null,
@recipientCC varchar(200)=null,
@recipientCCName varchar(100)=null,
@attachment varchar(100) =null,
@subject varchar(255),
@mailbody text
As
/*
該存儲過程使用辦公自動化腳本調用Dimac w3 JMail AxtiveX組件來代替Sql Mail發送郵件
該方法支持“服務器端身份驗證”
*/
--聲明w3 JMail使用的常規變量及錯誤信息變量
Declare @object int,@hr int,@rc int,@output varchar(400),@description varchar (400),@source varchar(400)

--創建JMail.Message對象

Exec @hr = sp_OACreate 'jmail.message', @object OUTPUT

--設置郵件編碼
Exec @hr = sp_OASetProperty @object, 'Charset', 'gb2312'

--身份驗證
If Not @MailServerUserName is null
Exec @hr = sp_OASetProperty @object, 'MailServerUserName',@MailServerUserName
If Not @MailServerPassword is null
Exec @hr = sp_OASetProperty @object, 'MailServerPassword',@MailServerPassword

--設置郵件基本參數
Exec @hr = sp_OASetProperty @object, 'From', @sender
Exec @hr = sp_OAMethod @object, 'AddRecipient', NULL , @recipient
Exec @hr = sp_OASetProperty @object, 'Subject', @subject
Exec @hr = sp_OASetProperty @object, 'Body', @mailbody

--設置其它參數
if not @attachment is null
exec @hr = sp_OAMethod @object, 'Addattachment', NULL , @attachment,'false'
print @attachment
If (Not @recipientBCC is null) And (Not @recipientBCCName is null)
Exec @hr = sp_OAMethod @object, 'AddRecipientBCC', NULL , @recipientBCC,@recipientBCCName
Else If Not @recipientBCC is null
Exec @hr = sp_OAMethod @object, 'AddRecipientBCC', NULL , @recipientBCC

If (Not @recipientCC is null) And (Not @recipientCCName is null)
Exec @hr = sp_OAMethod @object, 'AddRecipientCC', NULL , @recipientCC,@recipientCCName
Else If Not @recipientCC is null
Exec @hr = sp_OAMethod @object, 'AddRecipientCC', NULL , @recipientCC

If Not @sendername is null
Exec @hr = sp_OASetProperty @object, 'FromName', @sendername

--調用Send方法發送郵件
Exec @hr = sp_OAMethod @object, 'Send', null,@serveraddress

--捕獲JMail.Message異常
Exec @hr = sp_OAGetErrorInfo @object, @source OUTPUT, @description OUTPUT

if (@hr = 0)
Begin
Set @output='錯誤源: '+@source
Print @output
Select @output = '錯誤描述: ' + @description
Print @output
End
Else
Begin
Print '獲取錯誤信息失敗!'
Return
End

--釋放JMail.Message對象
Exec @hr = sp_OADestroy @object 

    (d)簡化存儲過程操作,以適合我們平時的使用習慣
    上面的存儲過程基本可以完成郵件發送操作,但是非常冗長,而且不符合我們的習慣,比如它不支持多個發送給接收者、不支持將Sql指令運行結果以附件形式發送(這是Sql Mail的功能,我們也可以做到)等,所以我們要再寫一個存儲過程來調用它,以簡化操作,并擴展功能。

Create Procedure SendMail
@Sender varChar(50)=null,
@strRecipients varChar(200),
@strSubject varChar(200),
@strMessage varChar(2000),
@sql varChar(50)=null) 
As

Declare @SplitStr varchar(1) --定義郵件地址分割符變量
Declare @strTemp varchar(200) --定義多個收件人字符串臨時變量
Declare @email varchar(50) --用分割符分割后的單個收件人字符串變量

Declare @SenderAddress varChar(50)
Declare @Attach varChar(200)

Declare @DefaultSender varChar(50)
Declare @MailServer varChar(50)
Declare @User varChar(50)
Declare @Pass varChar(50)
Declare @SenderName varChar(50)
Declare @AttachDir varChar(100)

--初始化缺省變量
Set @DefaultSender='缺省發送地址'
Set @MailServer='郵件服務器地址'
Set @User='SMTP服務器驗證用戶地址'
Set @Pass='SMTP服務器驗證地址'
Set @SenderName='缺省發件人名稱'
Set @AttachDir='E:\LOG\WebData\Jmail\'+Replace(Replace(Replace(Convert(varChar(19),GetDate(),120),'-',''),' ',''),':','')+'.txt'

--將Email地址分割符統一為分號
set @SplitStr=';'
Set @strTemp=@strRecipients+@SplitStr+'end'
Set @strTemp=Replace(@strTemp,',',';')

--判斷是否有sql語句
If (@Sql is Null) Or (len(@Sql)=0)
Set @AttachDir=Null
Else
Begin
Declare @CmdStr varChar(200)
Set @CmdStr='bcp "'+@Sql+'" queryout '+@AttachDir+' -c'
EXEC master..xp_cmdshell @CmdStr
End

while CharIndex(@SplitStr,@strTemp,1)<>0
Begin
Set @email=left(@strTemp,CharIndex(@SplitStr,@strTemp,1)-1)
Set @strTemp=right(@strTemp,len(@strTemp)-len(@email)-1)
If (@Sender Is Null) Or (Len(@Sender)=0)
Set @SenderAddress=@DefaultSender
Else
Set @SenderAddress=@Sender
Print @email
--調用sp_jmail_send發送郵件
EXEC sp_jmail_send @sender=@SenderAddress,@sendername=@SenderName,
@serveraddress=@MailServer,@MailServerUserName=@User,@MailServerPassword=@Pass,
@recipient=@email,@subject=@strSubject,@mailbody=@strMessage,@attachment=@AttachDir
End
    此存儲過程只擴展了Sql查詢結果附件發送,如果你要發送標準附件,請直接使用sp_jmail_send存儲過程或者自行擴展功能。

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本不卡一二三区黄网| 日韩欧美视频一区| 国产精品美女久久久久久久网站| 国产一区二区三区高清播放| wwwwxxxxx欧美| 福利一区在线观看| 亚洲欧美自拍偷拍色图| 91在线免费看| 性做久久久久久久免费看| 欧美精品一二三| 精品一区二区三区蜜桃| 国产精品久久精品日日| 欧洲在线/亚洲| 精品一区二区久久久| 国产精品系列在线| 欧美三级在线视频| 国产真实乱子伦精品视频| 欧美激情一区三区| 欧美亚洲国产一区二区三区| 奇米在线7777在线精品| 欧美国产激情二区三区| 在线观看欧美日本| 精品一二三四区| 亚洲男人的天堂在线aⅴ视频| 51午夜精品国产| 高清不卡在线观看| 天天操天天干天天综合网| 国产亚洲欧美在线| 欧美日韩日日夜夜| 成人高清免费观看| 卡一卡二国产精品| 一区二区三区在线免费观看| 精品成人在线观看| 欧美日韩在线三级| aaa欧美色吧激情视频| 日本视频一区二区三区| 亚洲欧美另类久久久精品| 欧美成人综合网站| 欧美在线观看视频在线| 国产成人亚洲综合a∨婷婷图片 | 久久老女人爱爱| 日本乱人伦aⅴ精品| 国产精品一区二区久久精品爱涩 | 久久这里都是精品| 在线观看一区二区视频| 国产成人精品一区二区三区四区 | 99久久99久久综合| 国产乱人伦偷精品视频免下载| 亚洲国产人成综合网站| 欧美国产精品中文字幕| 日韩欧美一二区| 在线精品视频免费播放| 成人午夜视频福利| 国产乱理伦片在线观看夜一区| 天天免费综合色| 亚洲免费观看在线视频| 久久一留热品黄| 日韩你懂的在线播放| 欧美日韩国产中文| 不卡一区二区三区四区| 国产精品66部| 麻豆视频观看网址久久| 舔着乳尖日韩一区| 一区二区三区不卡视频| 国产精品人妖ts系列视频| www久久久久| 久久先锋影音av鲁色资源网| 欧美一区二区日韩| 91.麻豆视频| 在线观看91精品国产麻豆| 欧美日韩精品欧美日韩精品一综合| 成人免费高清在线| 岛国精品在线播放| 成人一区二区三区视频在线观看| 激情综合网av| 国产毛片精品一区| 国产在线不卡视频| 国产一区二区三区在线观看精品| 国产一区二区不卡在线| 高清日韩电视剧大全免费| 成人精品小蝌蚪| voyeur盗摄精品| 色综合天天视频在线观看| 日本韩国欧美一区| 欧美乱熟臀69xxxxxx| 日韩一区二区免费高清| 2017欧美狠狠色| 久久精子c满五个校花| 国产精品女人毛片| 亚洲视频狠狠干| 亚洲第一成人在线| 美女任你摸久久| 成人免费视频国产在线观看| 色94色欧美sute亚洲线路二| 9191精品国产综合久久久久久 | 国产精品一区二区在线看| 国产精品12区| 色综合久久久久综合体| 欧美精品1区2区| 国产色综合一区| 亚洲一区二区三区四区在线观看| 日本在线不卡视频一二三区| 国内精品伊人久久久久影院对白| www.在线欧美| 69堂亚洲精品首页| 日本一区二区成人在线| 一个色综合网站| 精品一区二区免费在线观看| 99久久精品久久久久久清纯| 欧美日韩国产三级| 国产亚洲精品aa午夜观看| 亚洲免费av高清| 极品尤物av久久免费看| 色噜噜狠狠色综合欧洲selulu| 欧美一区二区三区色| 综合自拍亚洲综合图不卡区| 日韩精品电影在线| 成+人+亚洲+综合天堂| 欧美一级精品在线| 亚洲欧美福利一区二区| 精品亚洲porn| 欧美午夜在线观看| 国产女人水真多18毛片18精品视频| 亚洲一区二区三区在线播放| 高清不卡一区二区| 日韩一卡二卡三卡四卡| 亚洲美女精品一区| 国产在线不卡视频| 欧美日韩1234| 亚洲乱码精品一二三四区日韩在线| 久久精品国产澳门| 欧美三级韩国三级日本三斤| 中文字幕欧美日韩一区| 美女视频黄免费的久久 | 色婷婷av一区二区三区gif | 中文字幕乱码亚洲精品一区| 日韩黄色在线观看| 91国偷自产一区二区三区观看| 精品久久久久久亚洲综合网| 亚洲成av人片| 一本色道久久综合亚洲aⅴ蜜桃| 久久一二三国产| 久久国产尿小便嘘嘘尿| 欧美色窝79yyyycom| 亚洲人吸女人奶水| 成人精品在线视频观看| 久久免费看少妇高潮| 久久国产福利国产秒拍| 欧美狂野另类xxxxoooo| 日韩主播视频在线| 91片黄在线观看| 中文字幕日韩av资源站| 成人午夜碰碰视频| 中文乱码免费一区二区| 国产精品亚洲综合一区在线观看| 欧美一区二区美女| 日本欧美大码aⅴ在线播放| 欧美美女激情18p| 天堂午夜影视日韩欧美一区二区| 色婷婷av一区二区| 亚洲精品综合在线| 91麻豆福利精品推荐| 国产精品短视频| 91视视频在线直接观看在线看网页在线看 | 国产精品亚洲а∨天堂免在线| 精品电影一区二区| 国产自产2019最新不卡| 久久先锋影音av鲁色资源| 国产综合一区二区| 久久久五月婷婷| 丁香六月综合激情| 国产精品女主播av| 色婷婷综合久久久中文一区二区 | 亚洲一区二区精品视频| 欧美三级一区二区| 青娱乐精品在线视频| 精品国产乱码久久久久久久久| 国产一区二区三区精品欧美日韩一区二区三区 | 色综合网色综合| 亚洲福利视频导航| 91精品国产91久久久久久最新毛片| 日本最新不卡在线| 久久伊人蜜桃av一区二区| 国产不卡高清在线观看视频| 国产精品乱码人人做人人爱| 91在线小视频| 亚洲成人激情社区| 日韩欧美三级在线| 成人免费高清在线| 一区二区三区加勒比av| 欧美一区二区视频观看视频 | 免费观看久久久4p| 久久久久久**毛片大全| 欧美日韩一区二区电影| 日日欢夜夜爽一区| 欧美国产精品劲爆| 欧美日韩色一区| 高清在线观看日韩| 三级一区在线视频先锋 | 亚洲精选视频免费看|