![發(fā)送電子郵件專題_第1頁](http://file4.renrendoc.com/view/c11c61fd78833a78806700254e800abd/c11c61fd78833a78806700254e800abd1.gif)
![發(fā)送電子郵件專題_第2頁](http://file4.renrendoc.com/view/c11c61fd78833a78806700254e800abd/c11c61fd78833a78806700254e800abd2.gif)
![發(fā)送電子郵件專題_第3頁](http://file4.renrendoc.com/view/c11c61fd78833a78806700254e800abd/c11c61fd78833a78806700254e800abd3.gif)
![發(fā)送電子郵件專題_第4頁](http://file4.renrendoc.com/view/c11c61fd78833a78806700254e800abd/c11c61fd78833a78806700254e800abd4.gif)
![發(fā)送電子郵件專題_第5頁](http://file4.renrendoc.com/view/c11c61fd78833a78806700254e800abd/c11c61fd78833a78806700254e800abd5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
發(fā)送電子郵件專題第七章
發(fā)送電子郵件學習目標:掌握JMail組件的安裝和注冊的方法。掌握利用JMail組件發(fā)送普通電子郵件的方法。掌握利用“無懼上傳”上傳文件的方法JMail組件和“無懼上傳”發(fā)送帶附件的郵件。7.1需求分析大部分網(wǎng)站都具有將用戶的注冊信息、用戶的留言或用戶找回的密碼發(fā)送到指定的郵箱的功能。Asp本身并不提供發(fā)送電子郵件的功能,但是可以利用第三方組件來實現(xiàn)發(fā)送電子郵件。目前因為大多數(shù)的虛擬主機都支持Jmail組件,本章將介紹asp如何調(diào)用Jmail4.5組件發(fā)送電子郵件。在發(fā)送電子郵件的時候有時需要發(fā)送帶附件的電子郵件,Asp本身也不提供上傳附件的功能,利用無懼上傳類可以實現(xiàn)將郵件的附件上傳到服務(wù)器中,然后在利用Jmail4.5組件中的相關(guān)方法發(fā)送帶附件的電子郵件。7.2任務(wù)分解7.2.1任務(wù)一:JMail組件安裝、注冊與卸載1.JMail的特點W3JMail組件是當前國際上最為流行的郵件組件之一,當今世界上絕大部分ASP程序開發(fā)人員都在使用JMail組件來構(gòu)建郵件發(fā)送系統(tǒng)。因為組件使用了最新的內(nèi)核技術(shù),使用它更加可靠和穩(wěn)定。
在本實例中使用的是W3JMail4.5版本,此版本與之前的版本相,具有很多新的特性。(1)JMail4.5重新設(shè)計了其內(nèi)部結(jié)構(gòu),使用Message對象來操作的。(2)JMail4.5一共有10多個對象,這些對象大多數(shù)是針對Message對象來操作的。(3)支持從POP3郵件服務(wù)器接收郵件(4)支持加密郵件的傳輸。(5)支持快速發(fā)送,一次會話就可以完成郵件傳送。(6)支持集群發(fā)送,一次可以發(fā)送上萬封郵件,還可以通過Mailmerge對象來個性化郵件。
2.JMail組件的安裝、注冊與卸載圖7-1JMail4.5組件安裝歡迎界面
圖7-2JMail4.5組件安裝協(xié)議界面選擇“Next”按鈕,會出現(xiàn)安裝協(xié)議安裝畫面,如圖7-2所示。選擇“Iacceptthelicenseagreement”單選按鈕,單擊“Next”按鈕,接受安裝協(xié)議,安裝程序?qū)⑽募惭b到C:\ProgramFiles\Dimac\w3JMail目錄中,如圖7-3所示。圖7-3JMail4.5組件安裝畫面安裝完成后會出現(xiàn)安裝完成界面,如圖7-4所示。單擊“Finish”按鈕完成安裝。圖7-4JMail4.5組件安裝完成畫面
(2)JMail組建的注冊JMail組件安裝完成之后還需要注冊,以WindowsXP操作系統(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)會提示已經(jīng)安裝了JMail,提示是否卸載,如果選擇是。則將JMail4.5卸載。卸載組件是安裝組件的相反動作,可以使用參數(shù)/U來卸載已安裝的組件,執(zhí)行命令“regsver32/UC:\WINDOWS\system32\jmail.dll”即可。7.2.2任務(wù)二:JMail組件發(fā)送簡單電子郵件1.
JMail組件Message對象方法簡介JMail4.5FREE版本可以發(fā)郵件,但是不能夠收郵件和對郵件進行加密。發(fā)送電子郵件主要運用Message對象,Message主要對象的方法如表7-1所示。表7-1Message對象的方法屬性(或方法)說明AddAttachment(FieName,isInline,ContentType):String給郵件添加一個文件型的附件。isInline設(shè)置為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與郵件服務(wù)器連接而是用的緩存(Cache)ExtractEmailAddressesFromURL(bstrURL,bstrAuth)從指定的網(wǎng)址(URL)讀取并添加郵件列表LogCustomMessage(Message)給JMail日志文件添加自定義日志。此函數(shù)只有在Logging屬性被設(shè)置為True是有效Send(MailSerer,enque):Boolean發(fā)送郵件,郵件服務(wù)器是一個描述郵件服務(wù)器名稱或地址的字符串,用戶名和密碼是可選項。當要發(fā)送認證有件事使用格式為:密碼@郵件服務(wù)器About():string設(shè)置一些附加信息CHarset():String設(shè)置郵件使用的字符集。默認為US-ASCII,支持中文則設(shè)置為GB2312CotentTransferEncoding():String設(shè)置郵件編碼。默認為:Quoted-Printable.Date():Date返回郵件發(fā)送時間DeferredDeliery():Date設(shè)置郵件定時發(fā)送Encoding():String設(shè)置附件的默認編碼:Base64或Quoted-PrintableISOEncodeHeaders()Boolean郵件頭是否使用iso-8859-1編碼,默認為TrueLog():String當Logging為Rrue時,該函數(shù)返回創(chuàng)建日志Logging():Boolean是否啟用日志。Message.Logging=True是,啟用日志MailDomain():String設(shè)置發(fā)送郵件時使用的郵件服務(wù)器MailServerPassWord():String當郵件服務(wù)器使用SMTP發(fā)信認證時,該函數(shù)設(shè)置登錄密碼MailServerUserName():String當郵件服務(wù)器使用SMTP發(fā)信認證時,該函數(shù)設(shè)置登錄賬號Priority():Byte設(shè)置郵件的優(yōu)先級:1,2,3Subject():String設(shè)置郵件標題Text():String返回完整的郵件內(nèi)容Version():String返回JMAIL的版本信息2.利用JMail組件發(fā)送電子郵件下面介紹利用JMail組件Message對象實現(xiàn)發(fā)送簡單的電子郵件。發(fā)送簡單的電子郵件包括email.html和sendemail.asp兩個頁面。在制作發(fā)送電子郵件之前為了方便測試申請了網(wǎng)易郵箱,郵箱名為:,密碼為:nmgtest。(1)制作email.html頁面打開Dreamweaver,選擇新建一個HTML頁面。選擇表單,插入一個表單域,如圖7-8所示。圖7-8插入文本域在表單域的屬性動作中輸入“sendemail.asp”,如圖7-9所示。圖7-9設(shè)置表單屬性選擇“常用”中的“表格”,彈出插入表格對話框,插入一個行數(shù)為5,列數(shù)為2的表格。如圖7-10所示。圖7-10設(shè)置表單表格調(diào)整表格的距離,對表格的第一行和第五行合并單元格,如圖7-11所示。圖7-11合并單元格在表格的第一行輸入“請輸入郵件內(nèi)容”并居中,表格的第二行第一列輸入“收件人”,第二列插入一個文本字段,并將屬性中的文本域設(shè)置為“shoujianren”。表格的第三行第一列輸入“主題”,第二列插入一個文本字段,并將屬性中的文本域設(shè)置為“zhuti”。在表格的第四行第一列輸入“內(nèi)容”,第二列插入一個文本區(qū)域,并將屬性中的文本域設(shè)置為“neirong”,字符寬度為50,行數(shù)為10。在表格的第五行插入兩個按鈕,一個為提交,一個為重置,并居中。效果如圖7-12所示,將網(wǎng)頁保存為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"'發(fā)信人郵箱msg.FromName="測試"'發(fā)信人名稱msg.MailServerUserName="nmgtltest"'發(fā)信人登錄名msg.MailServerPassWord="nmgtest"'發(fā)信人密碼msg.AddRecipient(request("shoujianren"))'收信人郵箱msg.Subject=request("zhuti")'主題msg.Body=request("neirong")'郵件內(nèi)容msg.Send("smtp.163")'發(fā)送電子郵件setmsg=nothing'釋放對象response.write"郵件發(fā)送成功!"%>(3)測試打開IIS服務(wù)器,右鍵單擊email.html頁面,選擇“瀏覽”,出現(xiàn)如圖7-13所示頁面。圖7-13發(fā)送郵件網(wǎng)頁輸入收件人的郵箱地址,郵件的主題和內(nèi)容,點擊“提交按鈕”,出現(xiàn)如圖7-14所示頁面。圖7-14郵件發(fā)送成功網(wǎng)頁打開收信人的郵箱,即可以查看郵件了,如圖7-15所示。圖7-15收信人郵箱頁面7.2.3任務(wù)三:上傳文件
隨著網(wǎng)絡(luò)的發(fā)展,網(wǎng)站提供的內(nèi)容也越來越豐富,網(wǎng)站的上傳資源不是在網(wǎng)站建立時就已經(jīng)很齊全了,而是管理員與用戶共同維護的結(jié)果,用戶通過文件上傳可以讓網(wǎng)站的資源變的更多,資料變的更齊全。在本任務(wù)中將介紹如何設(shè)計一個上傳文件頁面的方法。
現(xiàn)在實現(xiàn)上傳文件頁面的方法很多,但是總的來說可以分為兩類,一類是無組件上傳文件,另一類是通過組件上傳文件。所謂組件上傳,就像在郵件系統(tǒng)中用到的JMail一樣,需要網(wǎng)頁設(shè)計人員去下載一個組件文件,并將其在服務(wù)器系統(tǒng)中注冊。這種方法的缺點是,當把網(wǎng)站移植到另一臺服務(wù)器上時,需要重新注冊組件。無組件上傳的方法就不存在這個問題。在本章中將采用粱無懼先生編寫的“無懼無組件上傳類”來實現(xiàn)上傳文件頁面的設(shè)計。在本網(wǎng)頁中采用的是無懼上傳類V2.2版本,它實際上是一個將代碼模塊化的asp文件,在設(shè)計上傳網(wǎng)頁的時候,只要將upfile_class.asp文件包含在其中,就可以使用它設(shè)計的上傳函數(shù)或過程來完成上傳。無懼上傳類的屬性及方法如下所示。1.上傳類的介紹(1)Upfile_Class類公共屬性File:文件域的集合,它是一個Dictionary對象,返回值為一個FileInfo_Class;類,可以進行續(xù)寫操作。Form:表單域的集合,它是一個Dictionary對象,返回值為對應(yīng)表單域的值,可以進行續(xù)寫操作。isErr:返回錯誤的值。1表示沒有上傳文件,2表示上傳超過限制大小,-1表示無錯。此屬性只讀。Version:返回此類的版本信息。此屬性只讀。AllowExt:允許上傳的文件類型的名單,可以在此類的文件中預設(shè)可上傳的文件類型,它以文件的后綴名來判斷,不區(qū)分大小寫,后綴名之間用“;”來隔開。此屬性是可續(xù)寫的。NoAllowExt:不允許上傳的文件類型的名單,其屬性與AllowExt相似。ErrMessage:顯示錯誤的字符串信息,其屬性只讀。(2)公共方法
GetData(MaxSizeAsInt64):分析上傳的數(shù)據(jù)。MaxSize為限制上傳的最大字節(jié)數(shù),高為-1表示不限制大小。這是一個過程,沒有返回值,調(diào)用后可以通過isErr來檢查是否大于0。SaveToFile(ItemAsString,PathAsString):保存到文件,自動覆蓋已經(jīng)存在的同名文件,其中參數(shù)Item為表單名,Path為保存的絕對路徑,返回值為保存的文件名。AutoSave(ItemAsString,PathAsString):保存到文件,自動穿件文件名以避免重復,其中參數(shù)Item為表單名,Path為保存的絕對路徑(可以包含文件名),返回值為保存的文件名。FileData(ItemAsString):取得文件數(shù)據(jù)。其中參數(shù)Item為表單名。GetFilePath(FullPathAsString):返回文件路徑。GetFileName(FullPathAsString):返回文件名。GetFileExt(FullPathAsString):返回文件的后綴名。GetNewFileName():返回一個時間種子的不重復數(shù)值,可以用做文件名。isAllowExt(ExtAsString):返回一個真值假值是指Ext是否為可以上傳的類型。(3)受保護的方法SaveToFileEx(ItemAsString,PathAsString,OverAsbool):保存到文件。其中Over指示如果文件存在是否覆蓋,如果Over為真時,文件按PATHL來保存,如果Over為假,則自動調(diào)用GetNewFileName()生成一個新的不重復的文件名,以上傳時的后綴名保存。(4)FileInfo_Class類文件信息類,用來存貯上傳的文件信息。(5)FileInfo_Class公共屬性FileName:返回上傳的文件名。FilePath:返回上傳時文件在客戶端的路徑。FileExt:返回文件擴展名。FileMIME:返回文件MIME類別。FileSize:返回文件大小(以字節(jié)為單位)。
上面介紹了上傳類的公共屬性和方法,這樣在設(shè)計時,只需要調(diào)用這些公共屬性與方法就可以實現(xiàn)上傳網(wǎng)頁的設(shè)計。2.上傳照片和作業(yè)
上傳照片和文件共包含index.html,UploadPic.asp,SaveToFile.asp,UploadSoft.asp,addupload.asp和SavePicToFile.asp六個頁面。將實現(xiàn)分別將照片和文件上傳到服務(wù)器的UploadSoftPic文件夾和UploadSoft文件夾中,并將相關(guān)信息寫入數(shù)據(jù)庫。(1)數(shù)據(jù)庫設(shè)計
打開ACCESS數(shù)據(jù)庫,選擇使用“設(shè)計器創(chuàng)建表”,設(shè)計如下字段,name,sex,year,picture,major,class,month,soft類型都為文本型,分別用來保存學生的姓名、性別、出生年、學生照片路徑、學生專業(yè)、學生班級、出生月和上傳作業(yè)的路徑,如圖7-16所示,保存在Database文件夾下,名稱為upload.mdb。圖7-16數(shù)據(jù)庫字段設(shè)置(2)UploadPic.asp頁面設(shè)計打開Dreamweaver,新建一個aspvbscript頁面,插入一個表單域,對其屬性進行設(shè)置,表單名稱為upSoftPic,動作為SavePicToFile.asp,方法為POST,MIME類型為multipart/form-data。在表單域中插入一個文件域和一個按鈕,把按鈕的名字改為上傳,效果如圖7-17所示。圖7-17UploadPic.asp頁面(3)UploadSoft.asp頁面設(shè)計UploadSoft.asp頁面和UploadPic.asp頁面設(shè)計基本一樣,只是把動作設(shè)置為SaveToFile.asp。(4)SaveToFile.asp頁面設(shè)計打開Dreamweaver,新建一個aspvbscript頁面,輸入如下代碼:<%@language=vbscriptcodepage=936%><%OPTIONEXPLICIT%><!--#includeFILE="upfile_class.asp"--><%dimSavePathdimupfile,formPath,ServerPath,FSPath,formName,FileName,oFile,upfilecount'定義了網(wǎng)頁中的所有變量dimmsg,strJSSavePath="UploadSoft"msg=""upfilecount=0ifright(SavePath,1)<>"/"then SavePath=SavePath&"/"endifsetupfile=newupfile_class''建立上傳對象upfile.AllowExt="rar;zip;" '設(shè)置允許上傳類型的名單upfile.GetData(10240000)'取得上傳數(shù)據(jù),限制最大上傳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><meta-equiv="Content-Type"content="text/html;charset=gb2312"></head><bodyleftmargin="0"topmargin="8"><%ifupfile.isErrthen'如果出錯
selectcaseupfile.isErr case1 msg="你沒有上傳文件" case2 msg="你上傳的文件超出我們的限制,最大10M" endselect else FSPath=GetFilePath(Server.mappath("upfile.asp"),"\")'取得當前文件在服務(wù)器路徑
ServerPath=GetFilePath(Request.ServerVariables(“HTTP_REFERER”),“/”)‘取得在網(wǎng)站上的位置foreachformNameinupfile.file'列出所有上傳了的文件
strJS="<SCRIPTlanguage=javascript>"&vbcrlf setoFile=upfile.file(formname) FileName=upfile.getNewFileName() FileName=SavePath&FileName&oFile.filename
upfile.SaveToFileformname,FSPath&FileName''保存文件也可以使用AutoSave來保存,參數(shù)一樣,但是會自動建立新的文件名
ifupfile.iserrthen strJS=strJS&"alert('"&upfile.errmessage&"');"&vbcrlf strJS=strJS&"history.go(-1);"&vbcrlf else upfilecount=upfilecount+1 Response.Write("軟件上傳成功!軟件大小為:"&cstr(round(oFile.fileSize/1024))&"K") strJS=strJS&"parent.document.UploadSoft.DownloadUrl.value='"&fileName&"';"&vbcrlf strJS=strJS&"parent.document.UploadSoft.SoftSize.value='"&cstr(round(oFile.fileSize/1024))&"';"&vbcrlf endif strJS=strJS&"</script>"&vbcrlf response.writestrJS setoFile=nothingnextendifsetupfile=nothing'刪除此對象%></body></html><%functionGetFilePath(FullPath,str)IfFullPath<>""ThenGetFilePath=left(FullPath,InStrRev(FullPath,str))ElseGetFilePath=""EndIfEndfunction%>程序說明:
dimupfile,formPath,ServerPath,FSPath,formName,FileName,oFile,upfilecount定義了網(wǎng)頁中的所有變量。<bodyleftmargin="0"topmargin="8">定義了<body>標簽內(nèi)的文本顯示位置,因為此頁面是嵌入在index.asp頁面內(nèi),所以需要規(guī)定它開始顯示的位置,讓信息在index.asp頁面內(nèi)的正確位置顯示。strJS="<SCRIPTlanguage=javascript>"&vbcrlf'定義了一個Script標簽的字符串,以便在上傳完成后,將上傳文件的大小和上傳的地址寫入Index頁面內(nèi)“文件大小”和“下載地址”文本框中。setoFile=upfile.file(formname)利用upfile_class類的file屬性來獲得一個文件對象。FileName=upfile.getNewFileName()'生成一個以時間為種子的隨機的、不重復的數(shù)值來作為上傳文件的文件名。FileName=SavePath&FileName&oFile.filename將保存路徑和上傳代碼生成的隨機數(shù),以及上傳文件原來的文件名一起組成此文件在服務(wù)器上的相對路徑。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的函數(shù),此函數(shù)用于獲得文件在服務(wù)器的地址。(5)SavePicToFile.asp頁面設(shè)計
打開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" '設(shè)置允許上傳類型的名單upfile.GetData(10240000)'取得上傳數(shù)據(jù),限制最大上傳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><meta-equiv="Content-Type"content="text/html;charset=gb2312"></head><bodyleftmargin="0"topmargin="8"><%ifupfile.isErrthen'如果出錯
selectcaseupfile.isErr case1 msg="你沒有上傳文件" case2 msg="你上傳的文件超出我們的限制,最大10M" endselect elseFSPath=GetFilePath(Server.mappath("upfile.asp"),"\")'取得當前文件在服務(wù)器路徑
ServerPath=GetFilePath(Request.ServerVariables("HTTP_REFERER"),"/")'取得在網(wǎng)站上的位置
foreachformNameinupfile.file'列出所有上傳了的文件
strJS="<SCRIPTlanguage=javascript>"&vbcrlf setoFile=upfile.file(formname)'利用upfile_class類的file屬性來獲得一個文件對象。
FileName=upfile.getNewFileName() FileName=SavePath&FileName&oFile.filename upfile.SaveToFileformname,FSPath&FileName''保存文件也可以使用AutoSave來保存,參數(shù)一樣,但是會自動建立新的文件名
ifupfile.iserrthen strJS=strJS&"alert('"&upfile.errmessage&"');"&vbcrlf strJS=strJS&"history.go(-1);"&vbcrlf else upfilecount=upfilecount+1 Response.Write("圖片上傳成功!圖片大小為:"&cstr(round(oFile.fileSize/1024))&"K") strJS=strJS&"parent.document.UploadSoft.SoftPicUrl.value='"&fileName&"';"&vbcrlf endif strJS=strJS&"</script>"&vbcrlf response.writestrJS setoFile=nothing nextendifsetupfile=nothing'刪除此對象%></body></html><%functionGetFilePath(FullPath,str)IfFullPath<>""ThenGetFilePath=left(FullPath,InStrRev(FullPath,str))ElseGetFilePath=""EndIfEndfunction%>程序說明:SavePicToFile.asp文件內(nèi)容和SaveToFile.asp文件內(nèi)容基本一樣,只是設(shè)置允許上傳類型的名單不同,SavePicToFile.asp文件允許上傳的擴展名為"jpg;png;gif;bmp" 。(6)index.html頁面設(shè)計
打開Dreamweaver,新建一個aspvbscript頁面,插入一個表單域,行為設(shè)置為addupload.asp。在表單域中插入一個8行2列的表格。分別輸入姓名,性別,出生年,出生月,專業(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頁面設(shè)計
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è)寫入數(shù)據(jù)庫。(8)測試
打開IIS服務(wù)器,右鍵單擊index.asp頁面,選擇“瀏覽”,姓名填寫“張三”,性別選擇“男”,出生年選擇“1990”,出生月選擇“3”,專業(yè)選擇“教育技術(shù)學”,班級選擇2010,上傳照片和作業(yè),出現(xiàn)如圖7-19所示頁面。圖7-19index.html頁面點擊提交,出現(xiàn)如圖7-20所示頁面。圖7-20上傳成功頁面打開數(shù)據(jù)庫,可以看到資料上傳到了數(shù)據(jù)庫,如圖7-21所示。圖7-21數(shù)據(jù)庫中的內(nèi)容圖7-22UploadSoft文件夾圖7-23UploadSoftPic文件夾7.3開發(fā)流程
總體設(shè)計利用Jmail組件和無懼上傳類來設(shè)計制作一個能夠發(fā)送附件的電子郵件。本程序一共有email1.html,UploadSoft.asp,SaveToFile.asp和sendemail1.asp四個頁面。具體實現(xiàn)
UploadSoft.asp和SaveToFile.asp兩個頁面的作用是將郵件的附件上傳到服務(wù)器中,在上一節(jié)已經(jīng)介紹過,這里不在介紹,下面重點介紹其它界面。1.SavePicToFile.asp頁面設(shè)計打開Dreamweaver,新建一個aspvbscript頁面,插入一個表單域,表單名稱設(shè)置為UploadSoft,行為設(shè)置為addupload.asp,方法設(shè)置為POST,MIME類型為multipart/form-data。在表單域中插入一個6行2列的表格。第一行合并單元格,輸入“請輸入郵件內(nèi)容”并設(shè)置居中。第二行第一列輸入“收件人:”,第二行第二列插入一個文本字段,設(shè)置本文域為“shoujianren”。第三行第一列輸入“主題:第三行第二列插入一個文本字段,設(shè)置本文域為“zhuti”。第四行第一列輸入“內(nèi)容:”,第四行第二列插入一個文本區(qū)域,設(shè)置本文域為“neirong”。第五行第一列輸入“附件:”,第五行第二列插入一個文本字段,設(shè)置本文域為“DownloadUrl”。下面插入<iframesrc="uploadsoft.asp"width="400"height="25"frameborder=0scrolling=no></iframe>IFRAME。第六行合并單元格,插入“提交”和“重置”兩個按鈕并居中,效果如圖7-24所示。圖7-24email1.html設(shè)計頁面2.sendemail1.asp頁面設(shè)計打開Dreamweaver,新建一個aspvbscript頁面,在<body>和</body>間輸入如下代碼:<%setmsg=Server.CreateOBject("JMail.Message")msg.Charset="GB2312"'郵件的文字編碼為國標msg.From="nmgtltest@163"'發(fā)信人郵箱msg.FromName="測試"'發(fā)信人名稱msg.MailServerUserName="nmgtltest"'發(fā)信人登錄名msg.MailServerPassWord="nmgtest"'發(fā)信人密碼msg.AddRecipient(request("shoujianren"))'收信人郵箱msg.Subject=request("zhuti")'主題msg.Body=request("neirong")'郵件內(nèi)容msg.AddAttachment(Server.MapPath(request.form("DownloadUrl")))msg.Send("smtp.163")setmsg=nothingresponse.write"郵件發(fā)送成功!"%>程序說明:sendemail1.asp頁面和sendemail.asp頁面的區(qū)別是sendemail1.asp頁面中利用msg.AddAttachment(Server.MapPath(request.form("DownloadUrl")))發(fā)送附件。3.測試打開IIS服務(wù)器,右鍵單擊email1.html頁面,選擇“瀏覽”,收件人填寫,主題填寫“附件”,內(nèi)容填寫“附件”,上傳附件。如圖7-25所示。圖7-25email1.html測試頁面單擊提交按鈕,出現(xiàn)如圖7-26所示頁面。圖7-26郵件發(fā)送成功頁面打開郵箱,可以郵件已經(jīng)成功接收。如圖7-27所示。圖7-27收郵件界面本章小結(jié)上傳文件和發(fā)送電子郵件是ASP網(wǎng)頁制作中經(jīng)常遇到的問題。本章利用無懼無組件上傳類實現(xiàn)上傳,利用Jmail4.5組件實現(xiàn)發(fā)送電子郵件。兩者相結(jié)合實現(xiàn)能夠發(fā)送帶附件的電子郵件。Jmail4.5組件的Message對象可以實現(xiàn)發(fā)送郵件,主要介紹了Charset方法(設(shè)置郵件使用的字符集。默認為US-ASCII,支持中文則設(shè)置為GB2312),F(xiàn)rom方法(返回或設(shè)置發(fā)件人的E-mail地址),F(xiàn)romName方法(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇教版一年級數(shù)學下冊期末復習口算練習題一
- 八年級數(shù)學下冊22.3特殊的平行四邊形5矩形和菱形聽評課記錄滬教版五四制
- 五年級德育工作計劃
- 蘇教版二年級數(shù)學上冊期末復習口算練習題
- 企業(yè)人力資源管理咨詢項目合同范本
- 車棚搭建協(xié)議書范本
- 簽訂銷售合同范本
- 新建房屋租賃合同范本
- 2025年度餐飲商鋪品牌推廣租賃合同
- 二零二五年度離婚協(xié)議書凈身出戶模板:婚姻終結(jié)財產(chǎn)分割規(guī)范
- 事業(yè)單位公開招聘工作人員考試題(公共基礎(chǔ)知識試題和答案)
- 低空飛行旅游觀光項目可行性實施報告
- 2024年版:煤礦用壓力罐設(shè)計與安裝合同
- 甲狀腺的科普宣教
- 《算法定價壟斷屬性問題研究的國內(nèi)外文獻綜述》4200字
- 2024年04月浙江義烏農(nóng)商銀行春季招考筆試歷年參考題庫附帶答案詳解
- 涉密計算機保密培訓
- 2024年浙江省五校聯(lián)盟高考地理聯(lián)考試卷(3月份)
- 在線心理健康咨詢行業(yè)現(xiàn)狀分析及未來三至五年行業(yè)發(fā)展報告
- 電動三輪車購銷合同
- 淋巴瘤的免疫靶向治療
評論
0/150
提交評論