版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第七章
發(fā)送電子郵件學習目標:掌握JMail組件的安裝和注冊的方法。掌握利用JMail組件發(fā)送普通電子郵件的方法。掌握利用“無懼上傳”上傳文件的方法能利用JMail組件和“無懼上傳”發(fā)送帶附件的郵件。7.1需求分析大部分網站都具有將用戶的注冊信息、用戶的留言或用戶找回的密碼發(fā)送到指定的郵箱的功能。Asp本身并不提供發(fā)送電子郵件的功能,但是可以利用第三方組件來實現發(fā)送電子郵件。目前因為大多數的虛擬主機都支持Jmail組件,本章將介紹asp如何調用Jmail4.5組件發(fā)送電子郵件。在發(fā)送電子郵件的時候有時需要發(fā)送帶附件的電子郵件,Asp本身也不提供上傳附件的功能,利用無懼上傳類可以實現將郵件的附件上傳到服務器中,然后在利用Jmail4.5組件中的相關方法發(fā)送帶附件的電子郵件。7.2任務分解7.2.1任務一:JMail組件安裝、注冊與卸載1.JMail的特點W3JMail組件是當前國際上最為流行的郵件組件之一,當今世界上絕大部分ASP程序開發(fā)人員都在使用JMail組件來構建郵件發(fā)送系統(tǒng)。因為組件使用了最新的內核技術,使用它更加可靠和穩(wěn)定。
在本實例中使用的是W3JMail4.5版本,此版本與之前的版本相,具有很多新的特性。(1)JMail4.5重新設計了其內部結構,使用Message對象來操作的。(2)JMail4.5一共有10多個對象,這些對象大多數是針對Message對象來操作的。(3)支持從POP3郵件服務器接收郵件(4)支持加密郵件的傳輸。(5)支持快速發(fā)送,一次會話就可以完成郵件傳送。(6)支持集群發(fā)送,一次可以發(fā)送上萬封郵件,還可以通過Mailmerge對象來個性化郵件。
2.JMail組件的安裝、注冊與卸載圖7-1JMail4.5組件安裝歡迎界面
圖7-2JMail4.5組件安裝協議界面選擇“Next”按鈕,會出現安裝協議安裝畫面,如圖7-2所示。選擇“Iacceptthelicenseagreement”單選按鈕,單擊“Next”按鈕,接受安裝協議,安裝程序將文件安裝到C:\ProgramFiles\Dimac\w3JMail目錄中,如圖7-3所示。圖7-3JMail4.5組件安裝畫面安裝完成后會出現安裝完成界面,如圖7-4所示。單擊“Finish”按鈕完成安裝。圖7-4JMail4.5組件安裝完成畫面(2)JMail組建的注注冊JMail組件安裝裝完成之之后還需需要注冊冊,以WindowsXP操作系統(tǒng)統(tǒng)為例介介紹注冊冊方法。。打開C:\ProgramFiles\Dimac\w3JMail文件夾,,如圖7-5所示,選選擇jmail.dll文件,把把它復制制到C:\WINDOWS\system32文件夾下下。圖7-5C:\ProgramFiles\Dimac\w3JMail文件夾選擇“開始始”菜單““運行”,,在“運行行”對話框框中輸入““regsver32C:\WINDOWS\system32\jmail.dll”如圖7-6所示,按““Enter”鍵執(zhí)行。注注冊成功后后彈出如圖圖如圖7-7所示對話框框。圖7-6運行對話框框圖7-7jmail注冊成功對對話框(3)JMail組建卸載卸載JMail的方法也比比較簡單,,當再次運運行JMail4.5的安裝文件件時,系統(tǒng)統(tǒng)會提示已已經安裝了了JMail,提示是否否卸載,如如果選擇是是。則將JMail4.5卸載。卸載組件是是安裝組件件的相反動動作,可以以使用參數數/U來卸載已安安裝的組件件,執(zhí)行命命令“regsver32/UC:\WINDOWS\system32\jmail.dll”即可。7.2.2任務二:JMail組件發(fā)送簡簡單電子郵郵件1.JMail組件Message對象方法簡簡介JMail4.5FREE版本可以發(fā)發(fā)郵件,但但是不能夠夠收郵件和和對郵件進進行加密。。發(fā)送電子子郵件主要要運用Message對象,Message主要對象的的方法如表表7-1所示。表7-1Message對象的方法法屬性(或方法)說明AddAttachment(FieName,isInline,ContentType):String給郵件添加一個文件型的附件。isInline設置為True時,添加的這個附件就是一個可嵌入的附件AddCustomAttachment(FileName,Data,isInine):String給郵件添加一個自定義類型的附件AddHeader(Xheader,Value)給郵件添加一個自定義郵件頭X-HeaderAddNativeHeader(Header,Value)給郵件添加一個郵件頭AddRecipient(emailAddress,recipientName,PGPKey)給郵件添加一個收件人。RecipientName和PGPKey是可選項,RecioientName為收件人姓名,PGPKey給郵件加密AddRecipientBCC(emailAddress,PGPKey)添加一個郵件暗送人(BCC)地址AddRecipientCC(emailAddress,recipientName,PGPKey)給郵件添加一個郵件抄送人(CC)地址AppendText(Text)向郵件添加文本正文Close()釋放JMail與郵件服務器連接而是用的緩存(Cache)ExtractEmailAddressesFromURL(bstrURL,bstrAuth)從指定的網址(URL)讀取并添加郵件列表LogCustomMessage(Message)給JMail日志文件添加自定義日志。此函數只有在Logging屬性被設置為True是有效Send(MailSerer,enque):Boolean發(fā)送郵件,郵件服務器是一個描述郵件服務器名稱或地址的字符串,用戶名和密碼是可選項。當要發(fā)送認證有件事使用格式為:密碼@郵件服務器About():string設置一些附加信息CHarset():String設置郵件使用的字符集。默認為US-ASCII,支持中文則設置為GB2312CotentTransferEncoding():String設置郵件編碼。默認為:Quoted-Printable.Date():Date返回郵件發(fā)送時間DeferredDeliery():Date設置郵件定時發(fā)送Encoding():String設置附件的默認編碼:Base64或Quoted-PrintableISOEncodeHeaders()Boolean郵件頭是否使用iso-8859-1編碼,默認為TrueLog():String當Logging為Rrue時,該函數返回創(chuàng)建日志Logging():Boolean是否啟用日志。Message.Logging=True是,啟用日志MailDomain():String設置發(fā)送郵件時使用的郵件服務器MailServerPassWord():String當郵件服務器使用SMTP發(fā)信認證時,該函數設置登錄密碼MailServerUserName():String當郵件服務器使用SMTP發(fā)信認證時,該函數設置登錄賬號Priority():Byte設置郵件的優(yōu)先級:1,2,3Subject():String設置郵件標題Text():String返回完整的郵件內容Version():String返回JMAIL的版本信息2.利用JMail組件發(fā)送電電子郵件下面介紹利利用JMail組件Message對象實現發(fā)發(fā)送簡單的的電子郵件件。發(fā)送簡簡單的電子子郵件包括括email.html和sendemail.asp兩個頁面。。在制作發(fā)發(fā)送電子郵郵件之前為為了方便測測試申請了了網易免費費郵箱,郵郵箱名為::nmgtltest@163.com,密碼為::nmgtest。(1)制作email.html頁面打開Dreamweaver,選擇新建建一個HTML頁面。選擇擇表單,插插入一個表表單域,如如圖7-8所示。圖7-8插入文本域域在表單域的的屬性動作作中輸入““sendemail.asp”,如圖7-9所示。圖7-9設置表單屬屬性選擇“常用用”中的““表格”,,彈出插入入表格對話話框,插入入一個行數數為5,列數為2的表格。如如圖7-10所示。圖7-10設置表單表表格調整表格的的距離,對對表格的第第一行和第第五行合并并單元格,,如圖7-11所示。圖7-11合并單元格格在表格的第第一行輸入入“請輸入入郵件內容容”并居中中,表格的的第二行第第一列輸入入“收件人人”,第二二列插入一一個文本字字段,并將將屬性中的的文本域設設置為“shoujianren”。表格的第第三行第一一列輸入““主題”,,第二列插插入一個文文本字段,,并將屬性性中的文本本域設置為為“zhuti”。在表格的的第四行第第一列輸入入“內容””,第二列列插入一個個文本區(qū)域域,并將屬屬性中的文文本域設置置為“neirong”,字符寬度度為50,行數為10。在表格的的第五行插插入兩個按按鈕,一個個為提交,,一個為重重置,并居居中。效果果如圖7-12所示,將網網頁保存為為email.html。圖7-12制作發(fā)送郵郵件頁面(2)制作sendemail.asp頁面打開Dreamweaver,新建一個個aspvbscript頁面,在<body>和</body>之間輸入如如下代碼::<%setmsg=Server.CreateOBject("JMail.Message")'建立一個Message對象msg.Charset="GB2312"'郵件的文字字編碼為國國標msg.From="nmgtltest@163.com"'發(fā)信人郵箱箱msg.FromName="測試"'發(fā)信人名稱稱msg.MailServerUserName="nmgtltest"'發(fā)信人登錄錄名msg.MailServerPassWord="nmgtest"'發(fā)信人密碼碼msg.AddRecipient(request("shoujianren"))'收信人郵箱箱msg.Subject=request("zhuti")'主題msg.Body=request("neirong")'郵件內容msg.Send("")'發(fā)送電子郵郵件setmsg=nothing'釋放對象response.write"郵件發(fā)送成成功!"%>(3)測試打開IIS服務器,右右鍵單擊email.html頁面,選擇擇“瀏覽””,出現如如圖7-13所示頁面。。圖7-13發(fā)送郵件網網頁輸入收件人人的郵箱地地址,郵件件的主題和和內容,點點擊“提交交按鈕”,,出現如圖圖7-14所示頁面。。圖7-14郵件發(fā)送成成功網頁打開收信人人的郵箱,,即可以查查看郵件了了,如圖7-15所示。圖7-15收信人郵箱箱頁面7.2.3任務三:上上傳文件隨著網絡的的發(fā)展,網網站提供的的內容也越越來越豐富富,網站的的上傳資源源不是在網網站建立時時就已經很很齊全了,,而是管理理員與用戶戶共同維護護的結果,,用戶通過過文件上傳傳可以讓網網站的資源源變的更多多,資料變變的更齊全全。在本任任務中將介介紹如何設設計一個上上傳文件頁頁面的方法法?,F在實現上上傳文件頁頁面的方法法很多,但但是總的來來說可以分分為兩類,,一類是無無組件上傳傳文件,另另一類是通通過組件上上傳文件。。所謂組件件上傳,就就像在郵件件系統(tǒng)中用用到的JMail一樣,需要要網頁設計計人員去下下載一個組組件文件,,并將其在在服務器系系統(tǒng)中注冊冊。這種方方法的缺點點是,當把把網站移植植到另一臺臺服務器上上時,需要要重新注冊冊組件。無無組件上傳傳的方法就就不存在這這個問題。。在本章中中將采用粱粱無懼先生生編寫的““無懼無組組件上傳類類”來實現現上傳文件件頁面的設設計。在本網頁中中采用的是是無懼上傳傳類V2.2版本,它實實際上是一一個將代碼碼模塊化的的asp文件,在設設計上傳網網頁的時候候,只要將將upfile_class.asp文件包含在在其中,就就可以使用用它設計的的上傳函數數或過程來來完成上傳傳。無懼上傳類類的屬性及及方法如下下所示。1.上傳類的介介紹(1)Upfile_Class類公共屬性性File:文件域的的集合,它它是一個Dictionary對象,返回回值為一個個FileInfo_Class;類,可以以進行續(xù)寫寫操作。Form:表單域的的集合,它它是一個Dictionary對象,返回回值為對應應表單域的的值,可以以進行續(xù)寫寫操作。isErr:返回錯誤誤的值。1表示沒有上上傳文件,,2表示上傳超超過限制大大小,-1表示無錯。。此屬性只只讀。Version:返回此類類的版本信信息。此屬屬性只讀。。AllowExt:允許上傳傳的文件類類型的名單單,可以在在此類的文文件中預設設可上傳的的文件類型型,它以文文件的后綴綴名來判斷斷,不區(qū)分分大小寫,,后綴名之之間用“;;”來隔開開。此屬性性是可續(xù)寫寫的。NoAllowExt:不允許上上傳的文件件類型的名名單,其屬屬性與AllowExt相似。ErrMessage:顯示錯誤誤的字符串串信息,其其屬性只讀讀。(2)公共方法法GetData(MaxSizeAsInt64):分析上傳傳的數據。。MaxSize為限制上傳傳的最大字字節(jié)數,高高為-1表示不限制制大小。這這是一個過過程,沒有有返回值,,調用后可可以通過isErr來檢查是否否大于0。SaveToFile(ItemAsString,PathAsString):保存到文文件,自動動覆蓋已經經存在的同同名文件,,其中參數數Item為表單名,,Path為保存的絕絕對路徑,,返回值為為保存的文文件名。AutoSave(ItemAsString,PathAsString):保存到到文件,,自動穿穿件文件件名以避避免重復復,其中中參數Item為表單名名,Path為保存的的絕對路路徑(可可以包含含文件名名),返返回值為為保存的的文件名名。FileData(ItemAsString):取得文文件數據據。其中中參數Item為表單名名。GetFilePath(FullPathAsString):返回文文件路徑徑。GetFileName(FullPathAsString):返回文文件名。。GetFileExt(FullPathAsString):返回文文件的后后綴名。。GetNewFileName():返返回一個個時間種種子的不不重復數數值,可可以用做做文件名名。isAllowExt(ExtAsString):返回一一個真值值假值是是指Ext是否為可可以上傳傳的類型型。(3)受保護護的方法法SaveToFileEx(ItemAsString,PathAsString,OverAsbool):保存到到文件。。其中Over指示如果果文件存存在是否否覆蓋,,如果Over為真時,,文件按按PATHL來保存,,如果Over為假,則則自動調調用GetNewFileName()生成成一個新新的不重重復的文文件名,,以上傳傳時的后后綴名保保存。(4)FileInfo_Class類文件信息息類,用用來存貯貯上傳的的文件信信息。(5)FileInfo_Class公共屬性性FileName:返回上上傳的文文件名。。FilePath:返回上上傳時文文件在客客戶端的的路徑。。FileExt:返回文文件擴展展名。FileMIME:返回文文件MIME類別。FileSize:返回文文件大小小(以字字節(jié)為單單位)。。上面介紹紹了上傳傳類的公公共屬性性和方法法,這樣樣在設計計時,只只需要調調用這些些公共屬屬性與方方法就可可以實現現上傳網網頁的設設計。2.上傳照片片和作業(yè)業(yè)上傳照片片和文件件共包含含index.html,UploadPic.asp,SaveToFile.asp,UploadSoft.asp,addupload.asp和SavePicToFile.asp六個頁面面。將實實現分別別將照片片和文件件上傳到到服務器器的UploadSoftPic文件夾和和UploadSoft文件夾中中,并將將相關信信息寫入入數據庫庫。(1)數據庫庫設計打開ACCESS數據庫,,選擇使使用“設設計器創(chuàng)創(chuàng)建表””,設計計如下字字段,name,sex,year,picture,major,class,month,soft類型都為為文本型型,分別別用來保保存學生生的姓名名、性別別、出生生年、學學生照片片路徑、、學生專專業(yè)、學學生班級級、出生生月和上上傳作業(yè)業(yè)的路徑徑,如圖圖7-16所示,保保存在Database文件夾下下,名稱稱為upload.mdb。圖7-16數據庫字字段設置置(2)UploadPic.asp頁面設計計打開Dreamweaver,新建一一個aspvbscript頁面,插插入一個個表單域域,對其其屬性進進行設置置,表單單名稱為為upSoftPic,動作為為SavePicToFile.asp,方法為為POST,MIME類型為multipart/form-data。在表單單域中插插入一個個文件域域和一個個按鈕,,把按鈕鈕的名字字改為上上傳,效效果如圖圖7-17所示。圖7-17UploadPic.asp頁面(3)UploadSoft.asp頁面設計計UploadSoft.asp頁面和UploadPic.asp頁面設計計基本一一樣,只只是把動動作設置置為SaveToFile.asp。(4)SaveToFile.asp頁面設計計打開Dreamweaver,新建一一個aspvbscript頁面,輸輸入如下下代碼::<%@language=vbscriptcodepage=936%><%OPTIONEXPLICIT%><!--#includeFILE="upfile_class.asp"--><%dimSavePathdimupfile,formPath,ServerPath,FSPath,formName,FileName,oFile,upfilecount'定義了網網頁中的的所有變變量dimmsg,strJSSavePath="UploadSoft"msg=""upfilecount=0ifright(SavePath,1)<>"/"thenSavePath=SavePath&"/"endifsetupfile=newupfile_class''建立上傳傳對象upfile.AllowExt="rar;zip;"'設置允許許上傳類類型的名名單upfile.GetData(10240000)'取得上傳傳數據,限制最大大上傳10M%><html><head><title>文件上傳傳</title><styletype="text/css"><!--BODY{BACKGROUND-COLOR:#E1F4EE;font-size:9pt}.tx1{height:20px;font-size:9pt;border:1pxsolid;border-color:#000000;color:#0000FF}--></style><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"></head><bodyleftmargin="0"topmargin="8"><%ifupfile.isErrthen'如果出錯錯selectcaseupfile.isErrcase1msg="你沒有上上傳文件件"case2msg="你上傳的的文件超超出我們們的限制制,最大10M"endselectelseFSPath=GetFilePath(Server.mappath("upfile.asp"),"\")'取得當前前文件在在服務器器路徑ServerPath=GetFilePath(Request.ServerVariables(“HTTP_REFERER””),““/”)‘取得在網網站上的的位置foreachformNameinupfile.file'列出所有有上傳了了的文件件strJS="<SCRIPTlanguage=javascript>"&vbcrlfsetoFile=upfile.file(formname)FileName=upfile.getNewFileName()FileName=SavePath&FileName&oFile.filenameupfile.SaveToFileformname,FSPath&FileName''保存文件件也可可以使用用AutoSave來保存,參數一樣樣,但是會自自動建立立新的文文件名ifupfile.iserrthenstrJS=strJS&"alert('"&upfile.errmessage&"');"&vbcrlfstrJS=strJS&"history.go(-1);"&vbcrlfelseupfilecount=upfilecount+1Response.Write("軟件上傳傳成功??!軟件大大小為::"&cstr(round(oFile.fileSize/1024))&"K")strJS=strJS&"parent.document.UploadSoft.DownloadUrl.value='"&fileName&"';"&vbcrlfstrJS=strJS&"parent.document.UploadSoft.SoftSize.value='"&cstr(round(oFile.fileSize/1024))&"';"&vbcrlfendifstrJS=strJS&"</script>"&vbcrlfresponse.writestrJSsetoFile=nothingnextendifsetupfile=nothing'刪除此對象象%></body></html><%functionGetFilePath(FullPath,str)IfFullPath<>""ThenGetFilePath=left(FullPath,InStrRev(FullPath,str))ElseGetFilePath=""EndIfEndfunction%>程序說明::dimupfile,formPath,ServerPath,FSPath,formName,FileName,oFile,upfilecount定義了網頁頁中的所有有變量。<bodyleftmargin="0"topmargin="8">定義了<body>標簽內的文文本顯示位位置,因為為此頁面是是嵌入在index.asp頁面內,所所以需要規(guī)規(guī)定它開始始顯示的位位置,讓信信息在index.asp頁面內的正正確位置顯顯示。strJS="<SCRIPTlanguage=javascript>"&vbcrlf'定義了一個個Script標簽的字符符串,以便便在上傳完完成后,將將上傳文件件的大小和和上傳的地地址寫入Index頁面內“文文件大小””和“下載載地址”文文本框中。setoFile=upfile.file(formname)利用upfile_class類的file屬性來獲得得一個文件件對象。FileName=upfile.getNewFileName()'生成一個以以時間為種種子的隨機機的、不重重復的數值值來作為上上傳文件的的文件名。。FileName=SavePath&FileName&oFile.filename將保存路徑徑和上傳代代碼生成的的隨機數,,以及上傳傳文件原來來的文件名名一起組成成此文件在在服務器上上的相對路路徑。Response.Write("圖片上傳成成功!圖片片大小為::"&cstr(round(oFile.fileSize/1024))&"K")如果上傳正正確,則利利用JavaScript腳本語言將將上傳文件件的大小相相對路徑寫寫入Index頁面上“文文件大小””文本框中中。strJS=strJS&"parent.document.UploadSoft.SoftPicUrl.value='"&fileName&"';"&vbcrlf如果上傳正正確,則利利用JavaScript腳本語言將將上傳文件件的上傳路路徑相對路路徑寫入Index頁面上“下下載地址””文本框中中。setoFile=nothing上傳文件完完成后,刪刪除剛才建建立的文件件對象。setupfile=nothing上傳文件完完成后,刪刪除剛才建建立的上傳傳對象。functionGetFilePath(FullPath,str)定義了一個個名為GetFilePath的函數,此此函數用于于獲得文件件在服務器器的地址。。(5)SavePicToFile.asp頁面設計打開Dreamweaver,新建一個個aspvbscript頁面,輸入入如下代碼碼:<%OPTIONEXPLICIT%><!--#includeFILE="upfile_class.asp"--><%dimSavePathdimupfile,formPath,ServerPath,FSPath,formName,FileName,oFile,upfilecountdimmsg,strJSSavePath="UploadSoftPic/"msg=""upfilecount=0setupfile=newupfile_class'建立上傳對對象upfile.AllowExt="jpg;png;gif;bmp" '設置允許上上傳類型的的名單upfile.GetData(10240000)'取得上傳數數據,限制最大上上傳10M%><html><head><title>文件件上上傳傳</title><styletype="text/css"><!--BODY{BACKGROUND-COLOR:#E1F4EE;font-size:9pt}.tx1{height:20px;font-size:9pt;border:1pxsolid;border-color:#000000;color:#0000FF}--></style><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"></head><bodyleftmargin="0"topmargin="8"><%ifupfile.isErrthen'如果果出出錯錯selectcaseupfile.isErrcase1msg="你沒沒有有上上傳傳文文件件"case2msg="你上上傳傳的的文文件件超超出出我我們們的的限限制制,最大大10M"endselectelseFSPath=GetFilePath(Server.mappath("upfile.asp"),"\")'取得得當當前前文文件件在在服服務務器器路路徑徑ServerPath=GetFilePath(Request.ServerVariables("HTTP_REFERER"),"/")'取得得在在網網站站上上的的位位置置foreachformNameinupfile.file'列出出所所有有上上傳傳了了的的文文件件strJS="<SCRIPTlanguage=javascript>"&vbcrlfsetoFile=upfile.file(formname)'利用用upfile_class類的的file屬性性來來獲獲得得一一個個文文件件對對象象。。FileName=upfile.getNewFileName()FileName=SavePath&FileName&oFile.filenameupfile.SaveToFileformname,FSPath&FileName''保存存文文件件也也可可以以使使用用AutoSave來保保存存,參數數一一樣樣,但是是會會自自動動建建立立新新的的文文件件名名ifupfile.iserrthenstrJS=strJS&"alert('"&upfile.errmessage&"');"&vbcrlfstrJS=strJS&"history.go(-1);"&vbcrlfelseupfilecount=upfilecount+1Response.Write("圖片片上上傳傳成成功功?。D圖片片大大小小為為::"&cstr(round(oFile.fileSize/1024))&"K")strJS=strJS&"parent.document.UploadSoft.SoftPicUrl.value='"&fileName&"';"&vbcrlfendifstrJS=strJS&"</script>"&vbcrlfresponse.writestrJSsetoFile=nothingnextendifsetupfile=nothing'刪除除此此對對象象%></body></html><%functionGetFilePath(FullPath,str)IfFullPath<>""ThenGetFilePath=left(FullPath,InStrRev(FullPath,str))ElseGetFilePath=""EndIfEndfunction%>程序序說說明明::SavePicToFile.asp文件件內內容容和和SaveToFile.asp文件件內內容容基基本本一一樣樣,,只只是是設設置置允允許許上上傳傳類類型型的的名名單單不不同同,,SavePicToFile.asp文件件允允許許上上傳傳的的擴擴展展名名為為"jpg;png;gif;bmp"。(6)index.html頁面面設設計計打開開Dreamweaver,新新建建一一個個aspvbscript頁面面,,插插入入一一個個表表單單域域,,行行為為設設置置為為addupload.asp。在表表單域域中插插入一一個8行2列的表表格。。分別別輸入入姓名名,性性別,,出生生年,,出生生月,,專業(yè)業(yè),班班級,,上傳傳照片片,上上傳作作業(yè)。。分別別在上上傳照照片和和上傳傳作業(yè)業(yè)后面面的表表格中中插入入<iframesrc="uploadpic.asp"width="400"height="25"frameborder=0scrolling=no></iframe>和<iframesrc="uploadsoft.asp"width="400"height="25"frameborder=0scrolling=no></iframe>兩個IFRAME。效果果如圖圖7-18所示。。圖7-18index.html頁面(7)addupload.asp頁面設設計year1=request.Form("year")month1=request.Form("month")major=request.Form("major")picture=request.Form("SoftPicUrl")soft=request.Form("DownloadUrl")class1=request.form("class")SetRecordset1=Server.CreateObject("ADODB.recordset")sql="SELECT*FROM表1"Recordset1.opensql,MM_coon_STRING,3,3Recordset1.addnewRecordset1("name")=name1Recordset1("sex")=sexRecordset1("year")=year1Recordset1("month")=month1Recordset1("major")=majorRecordset1("class")=class1Recordset1("picture")=pictureRecordset1("soft")=softRecordset1("class")=class1Recordset1.updateRecordset1.ClosesetRecordset1=nothingresponse.write("上傳成成功!!")%></body></html>程序說明明:addupload.asp頁面將表表單中的的輸入姓姓名,性性別,出出生年,,出生月月,專業(yè)業(yè),班級級,上傳傳照片,,上傳作作業(yè)寫入入數據庫庫。(8)測試打開IIS服務器,,右鍵單單擊index.asp頁面,選選擇“瀏瀏覽”,,姓名填填寫“張張三”,,性別選選擇“男男”,出出生年選選擇“1990”,出生月月選擇““3”,專業(yè)選選擇“教教育技術術學”,,班級選選擇2010,上傳照照片和作作業(yè),出出現如圖圖7-19所示頁面面。圖7-19index.html頁面點擊提交交,出現現如圖7-20所示頁面面。圖7-20上傳成功功頁面打開數據據庫,可可以看到到資料上上傳到了了數據庫庫,如圖圖7-21所示。圖7-21數據庫中中的內容容圖7-22UploadSoft文件夾圖7-23UploadSoftPic文件夾7.3開發(fā)流程程7.3.1總體設計計利用Jmail組件和無無懼上傳傳類來設設計制作作一個能能夠發(fā)送送附件的的電子郵郵件。本本程序一一共有email1.html,UploadSoft.asp,SaveToFile.asp和sendemail1.asp四個頁面面。7.3.2具體實現現UploadSoft.asp和SaveToFile.asp兩個頁面面的作用用是將郵郵件的附附件上傳傳到服務務器中,,在上一一節(jié)已經經介紹過過,這里里不在介介紹,下下面重點點介紹其其它界面面。1.SavePicToFile.asp頁面設計計打開Dreamweaver,新建一一個aspvbscript頁面,插插入一個個表單域域,表單單名稱設設置為UploadSoft,行為設設置為addupload.asp,方法設設置為POST,MIME類型為multipart/form-data。在表單單域中插插入一個個6行2列的表格格。第一一行合并并單元格格,輸入入“請輸輸入郵件件內容””并設置置居中。。第二行行第一列列輸入““收件人人:”,,第二行行第二列列插入一一個文本本字段,,設置本本文域為為“shoujianren”。第三行行第一列列輸入““主題::第三行行第二列列插入一一個文本本字段,,設置本本文域為為“zhuti”。第四四行第一一列輸入入“內容容:”,,第四行行第二列列插入一一個文本本區(qū)域,,設置本本文域為為“neirong”。第五五行第一一列輸入入“附件件:”,,第五行行第二列列插入一一個文本本字段,,設置本本文域為為“DownloadUrl”。下面插插入<iframesrc="uploadsoft.asp"width="400"height="25"frameborder=0scrolling=no></iframe>IFRAME。第六行行合并單單元格,,插入““提交””和“重重置”兩兩個按鈕鈕并居中中,效果果如圖7-24所示。圖7-24email1.html設計頁面面2.sendemail1.asp頁面設計計打開Dreamweaver,新建一一個aspvbscript頁面,在在<body>和</body>間輸入如如下代碼碼:<%setmsg=Server.CreateOBject("JMail.Message")msg.Charset="GB2312"'郵件的文文字編碼碼為國標標msg.From="nmgtltest@163.com"'發(fā)信人郵郵箱msg.FromName="測試"'發(fā)信人名名稱msg.MailServerUserName="nmgtltest"'發(fā)信人登登錄名msg.MailServerPassWord="nmgtest"'發(fā)信人密密碼msg.AddRecipient(request("shoujianren"))'收信人郵郵箱msg.Subject=request("zhuti")'主題msg.Body=request("neirong")'郵件內容容msg.AddAttachment(Server.MapPath(request.form("DownloadUrl")))msg.Send("")setmsg=nothingresponse.write"郵件發(fā)送送成功??!"%>程序說明明:sendemail1.asp頁面和sendemail.asp頁面的區(qū)別別是sendemail1.asp頁面中利用用msg.AddAttachment(Server.MapPath(request.form("DownloadUrl")))發(fā)送附件。。3.測試打開IIS服務器,右右鍵單擊email1.html頁面,選擇擇“瀏覽””,收件人人填寫222yuhongtao@163.com,主題填寫寫“附件””,內容填填寫“附件件”,上傳傳附件。如如圖7-25所示。圖7-25email1.html測試頁面單擊提交按按鈕,出現現如圖7-26所示頁面。。圖7-26郵件發(fā)送成成功頁面打開郵箱,,可以郵件件已經成功功接收。如如圖7-27所示。圖7-27收郵件界面面本章小結上傳文件和和發(fā)送電子子郵件是ASP網頁制作中中經常遇到到的問題。。本章利用用無懼無組組件上傳類類實現上傳傳,利用Jmail4.5組件實現發(fā)發(fā)送電子郵郵件。兩者者相結合實實現能夠發(fā)發(fā)送帶附件件的電子郵郵件。Jmail4.5組件的Message對象可以實實現發(fā)送郵郵件,主要要介紹了Charset方法(設置置郵件使用用的字符集集。默認為為US-ASCII,支持中文文則設置為為GB2312),From方法(返回回或設置發(fā)發(fā)件人的E-mail地址),FromName方法(返回回或設置發(fā)發(fā)件人的名名字),MailServerUserName(當郵件服服務器使用用SMTP發(fā)信認證時時,該函數數設置登錄錄賬號),,MailServerPassWord(當郵件服服務器使用用SMTP發(fā)信認證時時,該函數數設置登錄錄密碼),,AddRecipient(給郵件添添加一個收收件人。RecipientName和PGPKey是可選項,,RecioientName為收件人姓姓名,PGPKey給郵件加密密),Subject(設置郵件件標題),,Body(設置郵箱箱正文),,AddAttachment(給郵件添添加一個文文件型的附附件。isInline設置為True時,添加的的這個附件件就是一個個可嵌入的的附件),,Send(發(fā)送郵件件,郵件服服務器是一一個描述郵郵件服務器器名稱或地地址的字符符串,用戶戶名和密碼碼是可選項項。當要發(fā)發(fā)送認證有有件事使用用格式為::密碼@郵件服務器器)。設計計和制作了了一個發(fā)送送簡單電子子郵件的網網頁。無懼懼上上傳傳類類是是一一個個優(yōu)優(yōu)秀秀的的無無組組件件上上傳傳的的方方法法,,很很多多ASP網站站的的上上傳傳都都使使用用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024商場美食節(jié)臨時攤位租賃合同
- 2024年度健身器材購銷合同
- 2024年度國際貿易仲裁與訴訟合同
- 2024年定制LED高炮廣告牌建設合同
- 2024乙公司向甲方提供跨境電商服務的詳細合同條款
- 2024年度grc材料研發(fā)與技術轉讓合同
- 航天英雄課件教學課件
- 2024年住宅租賃協議:個人與房東間的權利義務規(guī)定
- 04版0千伏電力施工合同樣本
- 2024年工程招投標合同管理實操手冊
- 護理專業(yè)人才培養(yǎng)方案
- 小學生航海知識講座
- 心電監(jiān)護并發(fā)癥預防及處理
- 甲魚宣傳方案策劃
- 夜班人員的補貼和福利政策
- 河北省石家莊市長安區(qū)2023-2024學年五年級上學期期末語文試卷
- 直播運營團隊組織架構與各崗位職責研究
- 慢病管理及遠程醫(yī)療的應用
- 學校個性化課程管理制度
- 肺炎支原體性肺炎護理課件
- 黑色素瘤護理的課件
評論
0/150
提交評論