歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

ASP.NET郵件收發(fā)系統(tǒng)計算機(jī)與軟件工程專業(yè)畢業(yè)設(shè)計畢業(yè)論文.doc

  • 資源ID:116789027       資源大小:863.68KB        全文頁數(shù):35頁
  • 資源格式: DOC        下載積分:15積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要15積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號:
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

ASP.NET郵件收發(fā)系統(tǒng)計算機(jī)與軟件工程專業(yè)畢業(yè)設(shè)計畢業(yè)論文.doc

長沙航空職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 目目 錄錄 1 1 緒論緒論3 1.1 電子郵件介紹3 1.1.1 介紹3 1.2 開發(fā)背景4 1.3 課題研究方法4 1.4 開發(fā)環(huán)境及運(yùn)行環(huán)境4 1.4.1 開發(fā)環(huán)境.4 1.4.2 運(yùn)行環(huán)境.4 2 2 郵件收發(fā)系統(tǒng)設(shè)計郵件收發(fā)系統(tǒng)設(shè)計5 2.1 軟件架構(gòu)及系統(tǒng)用例圖5 2.1.1 系統(tǒng)架構(gòu).5 2.1.2 系統(tǒng)總體用例.6 2.1.3 程序功能框圖.6 3 3 電子郵件的標(biāo)準(zhǔn)格式電子郵件的標(biāo)準(zhǔn)格式 (RFC(RFC 822)822).7 3.1 RFC 822 簡介.7 3.2 信件的頭部7 3.2.1 信頭的一般格式.7 3.2.2 結(jié)構(gòu)化字段和非結(jié)構(gòu)化字段.8 3.2.3 信頭字段的元素.8 3.2.4 標(biāo)準(zhǔn)的信頭字段9 3.3 SMTP 協(xié)議簡介及工作原理.12 3.3.1 介紹.12 3.3.2 SMTP 模型12 3.4 SMTP 協(xié)議的命令和應(yīng)答.13 3.4.1 SMTP 協(xié)議的命令13 3.4.2 SMTP 的應(yīng)答碼14 4 4 重要模塊設(shè)計重要模塊設(shè)計.16 4.1 用戶登錄模塊16 4.2 用戶郵箱主頁16 4.3 收件箱16 4.4 發(fā)件箱17 4.5 刪除郵件17 4.6 通訊錄17 4.7 草稿箱17 4.8 新建聯(lián)系人18 4.9 寫信18 ASP.NET 郵件收發(fā)系統(tǒng) 4.10 郵件轉(zhuǎn)發(fā)18 5 5 主要功能介紹主要功能介紹.19 5.1 用戶登錄模塊19 5.2 框架的搭建20 5.2.1 主要架構(gòu):20 5.2.2 友情鏈接圖片 Log 及鏈接:20 5.3 收件箱21 5.4 郵件發(fā)送23 5.4.1 發(fā)送郵件的主要代碼:23 5.4.2 發(fā)送附件代碼:24 5.5 刪除郵件27 5.5.1 獲取要刪除的信息字段 ID:.27 5.5.2 刪除數(shù)據(jù)庫中的數(shù)據(jù):28 5.6 通訊錄28 5.6.1 綁定通訊錄:.28 5.6.2 刪除聯(lián)系人:29 5.7 草稿箱29 5.7.1 草稿箱的數(shù)據(jù)綁定:29 5.7.2 草稿箱數(shù)據(jù)的刪除:30 5.8 聯(lián)系人30 5.9 郵件轉(zhuǎn)發(fā)30 6 6 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計31 6.1 登錄系統(tǒng)31 6.2 收件箱32 6.3 發(fā)件箱32 6.4 聯(lián)系人33 7 7 結(jié)論結(jié)論.33 8 8 參考文獻(xiàn)參考文獻(xiàn)33 9 9 致謝致謝.34 長沙航空職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 1 緒論 1.1 電子郵件介紹 1.1.1 介紹 電子郵件(簡稱 E-mai1)又稱電子信箱、電子郵政,它是種用電子手段提供信息 交換的通信方式。它是全球多種網(wǎng)絡(luò)上使用最普遍的一項服務(wù)。這種非交互式的通信, 加速了信息的交流及數(shù)據(jù)傳送,它是個簡易、快速的方法。通過連接全世界的 Internet,實(shí)現(xiàn)各類信號的傳送、接收、存貯等處理,將郵件送到世界的各個角落。到 目前為止,可以說電子郵件是 Internet 資源使用最多的一種服務(wù),E-mai1 不只局限于 信件的傳遞,還可用來傳遞文件、聲音及圖形、圖像等不同類型的信息。 電子郵件不是一種“終端到終端”的服務(wù),是被稱為“存貯轉(zhuǎn)發(fā)式”服務(wù)。這正是 電子信箱系統(tǒng)的核心,利用存貯轉(zhuǎn)發(fā)可進(jìn)行非實(shí)時通信,屬異步通信方式。即信件發(fā) 送者可隨時隨地發(fā)送郵件,不要求接收者同時在場,即使對方現(xiàn)在不在,仍可將郵件 立刻送到對方的信箱內(nèi),且存儲在對方的電子郵箱中。接收者可在他認(rèn)為方便的時候讀 取信件,不受時空限制。在這里,“發(fā)送”郵件意味著將郵件放到收件人的信箱中,而 “接收”郵件則意味著從自己的信箱中讀取信件,信箱實(shí)際上是由文件管理系統(tǒng)支持的 個實(shí)體。因?yàn)殡娮余]件是通過郵件服務(wù)器(mai1 server)來傳遞檔的。通常 mail server 是執(zhí)行多任務(wù)操作系統(tǒng) UNIX 的計算機(jī),它提供 24 小時的電子郵件服務(wù),用戶只 要向 mail server 管理人員申請個信箱賬號,就可使用這項快速的郵件服務(wù)。 電子郵件的工作原理: 1) 電子郵件系統(tǒng)是一種新型的信息系統(tǒng),是通信技術(shù)和計算機(jī)技術(shù)結(jié)合的產(chǎn)物。 電子郵件的傳輸是通過電子郵件簡單傳輸協(xié)議(Simple Mail Transfer Protocol, 簡稱 SMTP)這一系統(tǒng)軟件來完成的,它是 Internet 下的一種電子郵件通信協(xié)議。 2) 電子郵件的基本原理,是在通信網(wǎng)上設(shè)立“電子信箱系統(tǒng)” ,它實(shí)際上是一個計 算機(jī)系統(tǒng)。系統(tǒng)的硬件是一個高性能、大容量的計算機(jī)。硬盤作為信箱的存儲介質(zhì),在 硬盤上為用戶分一定的存儲空間作為用戶的“信箱” ,每位用戶都有屬于自己的個電 子信箱。并確定個用戶名和用戶可以自己隨意修改的口令。存儲空間包含存放所收 ASP.NET 郵件收發(fā)系統(tǒng) 信件、編輯信件以及信件存盤三部分空間,用戶使用口令開啟自己的信箱,并進(jìn)行發(fā)信、 讀信、編輯、轉(zhuǎn)發(fā)、存檔等各種操作。系統(tǒng)功能主要由軟件實(shí)現(xiàn)。 3) 電子郵件的通信是在信箱之間進(jìn)行的。用戶首先開啟自己的信箱,然后通過鍵 入命令的方式將需要發(fā)送的郵件發(fā)到對方的信箱中。郵件在信箱之間進(jìn)行傳遞和交換, 也可以與另個郵件系統(tǒng)進(jìn)行傳遞和交換。收方在取信時,使用特定賬號從信箱提取。 1.2 開發(fā)背景 當(dāng)前流行的各大郵件客戶端軟件的除了最主要的收發(fā)信件之外,功能越來越復(fù)雜, 但是人們平常真正用到的功能很少,很多功能尤其對于那些計算機(jī)知識相對缺乏的人來 說,更加顯得太過于華麗而不太實(shí)用。有鑒于此,在了解 RFC 底層協(xié)議的基礎(chǔ)上,我 們開發(fā)了這個各種功能相對簡單實(shí)用的郵件客戶端程序,簡化了很多不必要的功能。 1.3 課題研究方法 郵件收發(fā)是多個客戶之間交流的工具,起到通信功能 。我的畢業(yè)設(shè)計所做的虛擬 機(jī)采用標(biāo)準(zhǔn) 語言編寫,在結(jié)構(gòu)上模仿了 126 郵箱與新浪郵箱的設(shè)計。 1.4 開發(fā)環(huán)境及運(yùn)行環(huán)境 1.4.1 開發(fā)環(huán)境 AMD Athlon(TM),512M 內(nèi)存,80G 硬盤 Microsoft Windows XP Professional Microsoft Visual Studio 2008(C Sharp) Microsoft Developer Network for Visual Studio.NET 2008 Microsoft SQL Server 2005 1.4.2 運(yùn)行環(huán)境 Intel Pentium 2 及以上處理器,32M 以上內(nèi)存,4G 以上硬盤 長沙航空職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 Microsoft Windows 9X/NT 操作系統(tǒng) 800*600 或以上的屏幕分辨率 確保機(jī)器上安裝有.Net Framework 1.0 或者以上版本 (以后略) 2 郵件收發(fā)系統(tǒng)設(shè)計 2.1 軟件架構(gòu)及系統(tǒng)用例圖 2.1.1 系統(tǒng)架構(gòu) 軟件的總體架構(gòu)如圖 2.1: 圖 2.1 軟件架構(gòu)圖 主界面 主要功能選 擇 用戶 發(fā)送郵件 類 接收郵件 類 ASP.NET 郵件收發(fā)系統(tǒng) 2.1.2 系統(tǒng)總體用例 存入草稿 刪除郵件 接收郵件 登錄賬號 注冊賬號 發(fā)送郵件 純文本郵件 帶附件郵件 圖 2.2 系統(tǒng)總體用例圖 2.1.3 程序功能框圖 長沙航空職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 客戶端軟件 郵件接收系統(tǒng) 郵件接收系統(tǒng) 刪除郵件 簡單郵件接收 帶有附件的郵件接收 簡單郵件發(fā)送 帶有附件的郵件發(fā)送 聯(lián)系人管理 徹底刪除 存入草稿箱 添加聯(lián)系人 刪除聯(lián)系人 修改聯(lián)系人 圖 2.3 程序功能圖 3 電子郵件的標(biāo)準(zhǔn)格式 (RFC 822) 3.1 RFC 822 簡介 RFC822 規(guī)定的電子郵件內(nèi)容全部由 ASCII 字符組成,就是通常所說的文本文件, 因而標(biāo)準(zhǔn)將它稱為 Internet 文本信件(Internet Text Messages)。 從直觀上看,信件非常簡單,就是一系列由 ASCII 字符組成的文本行,每一行以 回車換行符(“CRLF“,就是 ASCII 碼的 13 和 10)結(jié)束。 從組織上看,信件內(nèi)容結(jié)構(gòu)分為兩大部分,中間用一個空白行(只有 CRLF 符的行) 來分隔。第一部分稱為信件的頭部(the header of the message),包括有關(guān)發(fā)送方、 接收方、發(fā)送日期等信息。第二部分稱為信件的體部(Body of the message),包括信 件內(nèi)容的正文文本。信頭是必需的,信體是可選的,即信體可有可無。如果不存在信 ASP.NET 郵件收發(fā)系統(tǒng) 體,用作分隔的空白行也就不需要。在信體中,也可以有用作分隔的空白行。這樣設(shè) 計的信件便于進(jìn)行語法分析,提取信件的基本信息。 在 RFC822 中規(guī)定,信件體就是一系列的向收信人表達(dá)信息的文本行,比較簡單,可以 包含任意文本,并沒有附加的結(jié)構(gòu)。信件頭則具有比較復(fù)雜的結(jié)構(gòu)。 3.2 信件的頭部 3.2.1 信頭的一般格式 信頭的結(jié)構(gòu)比較復(fù)雜,信頭由若干信頭字段(header field)組成,這些字段為用 戶和程序提供了關(guān)于信件的信息。要了解信頭的結(jié)構(gòu)就要弄清楚各種信頭字段。 所有的信頭字段都具有相同的語法結(jié)構(gòu),從邏輯上說,包括四部分,字段名 (field name),緊跟冒號“:“ (colon),后跟字段體(field body),最后以回車換行符 (CRLF)終止。即 信頭字段 = 字段名:字段體 CRLF 字段名必須由除了冒號和空格以外的可打印 USASCII 字符(其值在 33 和 126 之 間)組成,大多數(shù)字段的字段名稱由一系列字母,數(shù)字組成,中間經(jīng)常插入橫線符。字 段名告訴電子郵件軟件如何翻譯該行中剩下的內(nèi)容。 字段體可以包括除了 CR 和 LF 之外的任何 ASCII 字符。但是其中的空格,加括號的注 釋,引號和多行字段都比較復(fù)雜,另外,字段體的語法和語義依賴于字段名,每個類 型的字段有特定的格式。RFC822 為信件定義了一些標(biāo)準(zhǔn)字段,并提供了用戶自行定義 非標(biāo)準(zhǔn)字段的方 3.2.2 結(jié)構(gòu)化字段和非結(jié)構(gòu)化字段 每個字段所包含的信息不同,字段大體可以分為結(jié)構(gòu)化字段和非結(jié)構(gòu)化字段。 結(jié)構(gòu)化字段有特定的格式,由語法分析程序檢測。Sender 字段就是一個很好的例 子,它的字段內(nèi)容是信箱, 有一個離散的結(jié)構(gòu)。 非結(jié)構(gòu)化的字段含有任意的數(shù)據(jù),沒有固定格式。例如,Subject 字段可以含有任 意的文字,并且沒有固定格式。非結(jié)構(gòu)化的字段數(shù)量較少,只有 Subject、 Comments、擴(kuò)展字段,非標(biāo)準(zhǔn)字段、INReply 和 References 等。所有其它字段都是 結(jié)構(gòu)化的。 3.2.3 信頭字段的元素 盡管 Email 信件的總體結(jié)構(gòu)非常簡單,但一些信頭字段的結(jié)構(gòu)是很復(fù)雜的。下面 介紹一些大多數(shù)字段共有的元素。 (1)空白符 長沙航空職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 像其它文本文件一樣,空白符包括空格符(ASCII 碼 32)和制表符 Tab(ASCII 碼 19)。 此外,行末的回車換行符 CRLF 也應(yīng)算是空白符。使用空白符可以對字段進(jìn)行格式化, 增加它的可讀性。例如,每個字段間用 CRLF 來分離,在字段內(nèi)用空格來分隔字段名和 字段內(nèi)容。在 Subject 后面的冒號和內(nèi)容之間插入空格字符,會使字段結(jié)構(gòu)更加清晰。 在 Email 中,空白符的使用并沒有固定的規(guī)則,但應(yīng)當(dāng)正確地使用,僅在需要時才使 用空白符,以便接收軟件進(jìn)行語法分析。 (2)注解 注解是由括號括起來的一系列字符,例如,(這份禮物)。注解一般用在非結(jié)構(gòu)化 的信頭字段中,沒有語法語義,僅為人提供了一些附加的信息。如果在加引號的字符 串中有包括在括號中的字符,那是字符串的一部分,不是注解。在解釋信件的時候, 會將注解忽略,可以用一個空格字符代替它們,這樣就什么也不會破壞。 (3)字段折疊 每個信頭字段從邏輯上說應(yīng)當(dāng)是一個由字段名、冒號、字段體和 CRLF 組成的單一 的行,但為了書寫與顯示的方便,增加可讀性,也為了符合 1000/80 的行字符數(shù)的限 制,可以將超過 80 個字符的信頭字段分為多行,即對于比較長的字段,可以分割成幾 行,形成折疊。在結(jié)構(gòu)化和非結(jié)構(gòu)化字段中都允許折疊。通過在字段中某些點(diǎn)插入 CRLF 符和至少一個或多個空白字符來實(shí)現(xiàn)字段的折疊,第一行后面的行稱為信頭字段 的續(xù)行。續(xù)行都以一個空白符開始,這種方法稱為折疊(folding),例如標(biāo)題字段 Subject: This is a test 可以表示為:Subject: This is a test 反之,將一個被折疊成多行的信頭字段恢復(fù)到它的單行表示的過程叫做去折疊, 只要簡單地移除后面跟著空格的 CRLF,將折疊空白符 CRLF 轉(zhuǎn)換成空格字符,就可以完 成去折疊(unfolding)。在分析被折疊的字段的語法時,要把一個多行的折疊字段展開 為一行,根據(jù)它的非折疊的形式來分析它的語法與語義。 (4)字段大小寫 字段名稱是不區(qū)分大小寫的,所以 Subject、subject 或 SUBJECT 都一樣。不過字 段名稱大小寫有習(xí)慣的常用形式,如主題字段的大小寫形式通常為 Subject。字段體的 大小寫稍微復(fù)雜點(diǎn),要視情況而定。比如 Subject 后面的字段體,其中的大寫可能就 是縮寫的專用名詞,不能改動。 3.2.4 標(biāo)準(zhǔn)的信頭字段 下面介紹 RFC822 中定義的常用的標(biāo)準(zhǔn)信頭字段。 表 3-1 RFC822 常用的標(biāo)準(zhǔn)信頭字段 與發(fā)信方有關(guān)的信頭字段 格式:From:mailbox 舉例: 寫信人字段。說明信件的原始創(chuàng)建者,給出他的 電子信箱地址。創(chuàng)建者對信件的原始內(nèi)容負(fù)責(zé)。 ASP.NET 郵件收發(fā)系統(tǒng) From: 格式:Sender:mailbox 舉例: From: Sender: 發(fā)送者字段。說明實(shí)際提交發(fā)送這個信件的人, 給出他的電子信箱地址。當(dāng)發(fā)信人與寫信人不一 樣時使用。比如,秘書替經(jīng)理發(fā)信。發(fā)送者對發(fā) 送負(fù)責(zé)。 格式:Reply- TO:mailbox 舉例: From: From: 回復(fù)字段。指定應(yīng)當(dāng)把回信發(fā)到哪里。如果有此 字段,回信將會發(fā)給它指定的郵箱,而不會發(fā)給 From 字段指定的郵箱。比如,發(fā)送的是經(jīng)理的信, 但回信應(yīng)交辦公室處理。 與收信方有關(guān)的信頭字段 格式:TO:mailbox list 舉例:TO: 收信人字段。指定主要收信人的郵箱地址,可 以是多個郵箱地址的列表,地址中間用逗號隔 開。 格式:Cc:mailbox list 舉例:Cc: 抄送字段。指定此信件要同時發(fā)給哪些人,也 稱為抄送。也可以使用郵箱地址列表,抄送給 多個人。 格式:Bcc:mailbox list密抄字段。指定此信件要同時秘密發(fā)給哪些人, 也稱為密件抄送。也可以使用郵箱地址列表, 密抄給多個人。 其它的信頭字段 格式:Date:date-time 舉例:Date:Tue,04 Dec 2004 16:18:08 +800 日期字段:Date 字段含有電子郵件創(chuàng)建的日期 和時間。 格式:Subject:*text 舉例:Subject:Hello! Subject:Re:Hello! 信件主題字段。描述信件的主題。當(dāng)回復(fù)信件 時,通常在主題前面增加“Re:”前綴,標(biāo)記 為該信件為回復(fù)信件:當(dāng)信件被轉(zhuǎn)發(fā)時,通常 在主題文字前面加上“Fw:”,“Fwd:”這樣 的前綴。 格式:Received:“from“ domain ;發(fā)送主機(jī) “by“ domain ;接收主 機(jī) “via“ atom ;物理路 接受字段。是投遞信件的特定郵件服務(wù)器所作 的記錄。處理郵件投遞的每個服務(wù)器必須給它 處理的每個信頭的前面加一個 Received 字段, 用以描述信件到達(dá)目的地所經(jīng)過的路徑以及相 關(guān)信息。當(dāng)跟蹤各個電子郵件問題時,這個信 長沙航空職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 徑 “id“ msg-id ;接收者 msg id 息很有幫助。 舉例:Received:from wang195.0.0.1 by li129.5.0.4 Tue dec 2003 12:18:02 +800 格式:Comments:*text注釋字段。用于把一個注解添加到信件中。 格式:Resent-* 舉例:Resent-From Resent-Sender Resent-date Resent-Reply-To 重發(fā)字段。當(dāng)需要把收到的信件重發(fā)給另一組收 信人的時候,可以保持整個原始信件不變,并簡 單地產(chǎn)生重發(fā)信件所要求的新信頭字段。為避免 與以前的字段相混。新添加的信頭字段都加上 Resent-前綴字符串,它們的語法與未加前綴的 同名字段相同。 格式:Message-ID:msg- id 信件標(biāo)識字段。用于表示一個信件唯一標(biāo)識,該 字段通常有 Smtp 服務(wù)器生成,這個值通常是唯 一的。形式根據(jù)使用的軟件而定。通常左邊是標(biāo) 識符,右邊指定電腦名 表 3-1 中的關(guān)鍵字表明了電子郵件借用了辦公室備忘錄中的概念和術(shù)語:電子郵 件的頭部能夠包含一行說明應(yīng)當(dāng)接收到該備忘錄的接收方。象傳統(tǒng)的辦公室備忘錄一 樣,電子郵件使用關(guān)鍵字 Cc 指明一個復(fù)寫副本(carbon copy).電子郵件軟件必須向 Cc:后 面的電子郵件地址表中的每個地址發(fā)送一份消息的副本。 傳統(tǒng)的辦公室過程要求備忘錄的發(fā)送方通知接收方副本是否傳給其它人。有時發(fā) 送方希望將備忘錄的一個副本給別人而不顯示出有一個副本被發(fā)送出去。一些電子郵 件系統(tǒng)提供這樣的選項,遵循傳統(tǒng)的辦公室術(shù)語,用盲復(fù)寫副本(blind carbon copy) 來表示。創(chuàng)建消息的用戶 在關(guān)鍵字 Bcc 后給出一個電子郵件地址表,指定一個或多個盲復(fù)寫副本。雖然 Bcc 在發(fā)送方出現(xiàn),但當(dāng)信息發(fā)送時,郵件系統(tǒng)將它從消息中除去。每個接收方必須檢查 頭部的 To 和 Cc 行以決定信息是直接發(fā)送還是作為盲副本發(fā)送的(有些郵件系統(tǒng)在正文 部分附加信息來告訴接收者它是一個盲副本)。其它接收者不知道有哪些用戶接收到盲 副本。 電子郵件使用與傳統(tǒng)的辦公室備忘錄相同的格式和術(shù)語:頭部包括與消息有關(guān)的 信息,正文包括消息文本。電子郵件頭部的行說明發(fā)送方、接收方、日期、主題、應(yīng) 當(dāng)收到副本的人的列表。 (1)擴(kuò)展字段 ASP.NET 郵件收發(fā)系統(tǒng) 如果想在信頭中加入 RFC822 中沒有規(guī)定的字段,就需要創(chuàng)建非標(biāo)準(zhǔn)字段。方法非 常簡單,只要在自定義的信頭字段名的前面使用 X-前綴。RFC822 將這種方法稱為擴(kuò)展 字段。事實(shí)上已經(jīng)有許多擴(kuò)展字段被廣泛應(yīng)用,但沒有標(biāo)準(zhǔn)定義。例如: X-LOOP 字段 X-LOOP 字段用來防止郵件的循環(huán)傳送。過濾或郵件列表處理程序,可以給它處理 的每個信件增加一個 X-LOOP 字段,以后就可以根據(jù)這個字段中含有的特別值,判斷一 個信件是否被循環(huán)傳送。如果確認(rèn)郵件發(fā)生了循環(huán),過濾或郵件列表處理程序就可以 用不同的方式處理該信件。 X-Mailer 字段 X-Mailer 字段用于指示什么樣的程序產(chǎn)生了這個信件,它是使用最廣泛的擴(kuò)展字 段。產(chǎn)生郵件的軟件可以為所有發(fā)送的信件增加合適的 X-Mailer 字段,該字段不僅含 有軟件的名稱,還包含軟件的版本號。 (2) 普通關(guān)鍵字 下表 3-2 列出了一些在因特網(wǎng)電子郵件中可以找到的普通關(guān)鍵字,以及它們的含 義。 信頭字段目的 From郵件作者 Sender發(fā)信人 Reply-To回郵地址 To收信人地址 CC抄送:另一個收信人地址 BCC密送:收信人地址,但其 它收信人看不到這個收信人的 地址。 Subject主題 Comments備注 Keywords關(guān)鍵字,用來進(jìn)一步搜索 郵件 In-Reply-To被當(dāng)前郵件回復(fù)的郵件的 ID 長沙航空職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 References幾乎同 In-Reply-To 一樣 Encrypted加密郵件的加密類型 Date發(fā)信日期 3.3 SMTP 協(xié)議簡介及工作原理 3.3.1 介紹 簡單郵件傳輸協(xié)議(SMTP)的目標(biāo)是可靠高效地傳送郵件,它獨(dú)立于傳送子系統(tǒng) 而且僅要求一條可以保證傳送數(shù)據(jù)單元順序的通道。 SMTP 的一個重要特點(diǎn)是它能夠在傳送中接力傳送郵件,傳送服務(wù)提供了進(jìn)程間通 信環(huán)境(IPCE),此環(huán)境可以包括一個網(wǎng)絡(luò),幾個網(wǎng)絡(luò)或一個網(wǎng)絡(luò)的子網(wǎng)。理解到傳 送系統(tǒng)(或 IPCE)不是一對一的是很重要的。進(jìn)程可能直接和其它進(jìn)程通過已知的 IPCE 通信。郵件是一個應(yīng)用程序或進(jìn)程間通信。郵件可以通過連接在不同 IPCE 上的進(jìn) 程跨網(wǎng)絡(luò)進(jìn)行郵件傳送。更特別的是,郵件可以通過不同網(wǎng)絡(luò)上的主機(jī)接力式傳送。 3.3.2 SMTP 模型 SMTP 設(shè)計基于以下通信模型:針對用戶的郵件請求,發(fā)送 SMTP 建立與接收 SMTP 之間建立一個雙向傳送通道。接收 SMTP 可以是最終接收者也可以是中間傳送者。SMTP 命令由發(fā)送 SMTP 發(fā)出,由接收 SMTP 接收,而應(yīng)答則反方面?zhèn)魉汀?一旦傳送通道建立,SMTP 發(fā)送者發(fā)送 MAIL 命令指明郵件發(fā)送者。如果 SMTP 接收 者可以接收郵件則返回 OK 應(yīng)答。SMTP 發(fā)送者再發(fā)出 RCPT 命令確認(rèn)郵件是否接收到。 如果 SMTP 接收者接收,則返回 OK 應(yīng)答;如果不能接收到,則發(fā)出拒絕接收應(yīng)答(但 不中止整個郵件操作),雙方將如此重復(fù)多次。當(dāng)接收者收到全部郵件后會接收到特 別的序列,如果接收者成功處理了郵件,則返回 OK 應(yīng)答。 SMTP 提供傳送郵件的機(jī)制,如果接收方與發(fā)送方連接在同一個傳送服務(wù)下時,郵 件可以直接由發(fā)送方主機(jī)傳送到接收方主機(jī);或者,當(dāng)兩者不在同一個傳送服務(wù)下時, 通過中繼 SMTP 服務(wù)器傳送。為了能夠?qū)?SMTP 服務(wù)器提供中繼能力,它必須擁有最終 目的主機(jī)地址和郵箱名稱。 ASP.NET 郵件收發(fā)系統(tǒng) MAIL 命令參數(shù)是回復(fù)路徑,它指定郵件從何處來;而 RCPT 命令的參數(shù)是轉(zhuǎn)發(fā)路徑 的,它指定郵件向何處去。向前路徑是源路徑,而回復(fù)路徑是返回路徑(它用于發(fā)生 錯誤時返回郵件)。 當(dāng)同一個消息要發(fā)往不同的接收者時,SMTP 遇到了向不同接收者發(fā)送同一份數(shù)據(jù) 的復(fù)制品的問題,郵件命令和應(yīng)答有一個比較奇怪的語法,應(yīng)答也有一個數(shù)字代碼。 在下面,例子中可以看到哪些使用實(shí)際的命令和應(yīng)答。完整的命令和應(yīng)答在第四節(jié)。 命令與應(yīng)答對大小寫不敏感,也就是說,命令和應(yīng)答可以是大寫,小寫或兩者的 混合,但這一點(diǎn)對用戶郵件名稱卻不一定是對的,因?yàn)橛械闹鳈C(jī)對用戶名大小寫是敏 感的。這樣 SMTP 實(shí)現(xiàn)中就將用戶郵箱名稱保留成初始時的樣子,主機(jī)名稱對大小寫不 敏感。 命令與應(yīng)答由 ASCII 字母表組成,當(dāng)傳送服務(wù)提供 8 位字節(jié)傳送通道,每 7 位字 符正確傳送,而最高位被填充為 0。當(dāng)指定一般的命令或應(yīng)答格式后,參數(shù)會由一些類 似于語言的字符串表示出來,如“或“,這里尖括號表示這 是一種類似于語言的變量。 3.4 SMTP 協(xié)議的命令和應(yīng)答 3.4.1 SMTP 協(xié)議的命令 SMTP 命令是發(fā)送于 SMTP 主機(jī)之間的 ASC信息,可能使用到的命令如下表所示。 SMTP 協(xié)議命令 命令描述命令描述 DATA 開始信息寫作 RSET 重置會話,當(dāng)前傳輸 被取消 EXPN 驗(yàn)證給定的郵 箱列表是否存 在,擴(kuò)充郵箱 列表,也常被 禁用 SAML FROM 發(fā)送郵件到用戶終端 和郵箱 HELO 向服務(wù)器標(biāo)識 用戶身份,返 SEND FROM 發(fā)送郵件到用戶終端 長沙航空職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 回郵件服務(wù)器 身份 HELP 查詢服務(wù)器支 持什么命令, 返回命令中的 信息 SOML FROM 發(fā)送郵件到用戶終端 或郵箱 MAIL FROM 在主機(jī)上初始 化一個郵件會 話 TURN 接收端和發(fā)送端交換 角色 NOOP 無操作,服務(wù) 器應(yīng)響應(yīng) OK VRFY 用于驗(yàn)證指定的用戶/ 郵箱是否存在;由于 安全方面的原因,服 務(wù)器常禁止此命令 QUIT 終止郵件會話 RCPT TO 標(biāo)識單個的郵件接收 人;常在 MAIL 命令后 面可有多個 rcpt to : 3.4.2 SMTP 的應(yīng)答碼 對 SMTP 命令的響應(yīng)是多樣的,它確定了在郵件傳輸過程中請求和處理的同步,也 保證了發(fā)送 SMTP 知道接收 SMTP 的狀態(tài)。每個命令必須有且只有一個響應(yīng)。 SMTP 響應(yīng)由三位數(shù)字組成,其后跟一些文本。數(shù)字幫助決定下一個應(yīng)該進(jìn)入的狀 態(tài),而文本對人是有意義的。三位的響應(yīng)已經(jīng)包括了足夠的信息,不用再閱讀文本, 文本可以直接拋棄或者傳遞給用戶。特別的是,文本是與接收和環(huán)境相關(guān)的,所以每 次接收到的文本可能不同。在附錄 E 中可以看到全部的響應(yīng)碼。正規(guī)的情況下,響應(yīng) 由下面序列構(gòu)成:三位的數(shù)字,一行文本和一個,或者也可以是一個多 行響應(yīng)。只有 EXPN 和 HELP 命令可以導(dǎo)致多行應(yīng)答,然而,對所有命令,多行響應(yīng)都 是允許的。 REPLY CODES BY FUNCTION GROUPS 500 格式錯誤,命令不可識別(此錯誤也包括命令 行過長) ASP.NET 郵件收發(fā)系統(tǒng) 501 參數(shù)格式錯誤 502 命令不可實(shí)現(xiàn) 503 錯誤的命令序列 504 命令參數(shù)不可實(shí)現(xiàn) 211 系統(tǒng)狀態(tài)或系統(tǒng)幫助響應(yīng) 214 幫助信息 220 服務(wù)就緒 221 服務(wù)關(guān)閉傳輸信道 421 服務(wù)未就緒,關(guān)閉傳輸信道(當(dāng)必須關(guān)閉時,此應(yīng)答可以作為對任 何命令的響應(yīng)) 250 要求的郵件操作完成 251 用戶非本地,將轉(zhuǎn)發(fā)向 450 要求的郵件操作未完成,郵箱不可用(例如,郵箱忙) 550 要求的郵件操作未完成,郵箱不可用(例如,郵箱未找到,或不可訪問) 451 放棄要求的操作;處理過程中出錯 551 用戶非本地,請嘗試 452 系統(tǒng)存儲不足,要求的操作未執(zhí)行 552 過量的存儲分配,要求的操作未執(zhí)行 553 郵箱名不可用,要求的操作未執(zhí)行(例如郵箱格式錯誤) 354 開始郵件輸入,以.結(jié)束 554 操作失敗 長沙航空職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 4 重要模塊設(shè)計 4.1 用戶登錄模塊 輸入用戶名和密碼、驗(yàn)證碼進(jìn)行身份驗(yàn)證,進(jìn)入郵件管理模塊。 4.2 用戶郵箱主頁 用戶郵箱主頁,郵箱的主要功能顯示 ASP.NET 郵件收發(fā)系統(tǒng) 4.3 收件箱 4.4 發(fā)件箱 4.5 刪除郵件 4.6 通訊錄 長沙航空職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 4.7 草稿箱 4.8 新建聯(lián)系人 4.9 寫信 ASP.NET 郵件收發(fā)系統(tǒng) 4.10 郵件轉(zhuǎn)發(fā) 5 主要功能介紹 5.1 用戶登錄模塊 用戶輸入用戶名、密碼、驗(yàn)證碼,與數(shù)據(jù)庫信息進(jìn)行比對,如果輸入正確將登錄到郵 件系統(tǒng),反之會彈出錯誤信息。 string sql = “select * from userInfo where UserName=“+UserName +“ and password=“+passWord +“; SqlDataReader reader =con .GetList (sql ); if (reader.Read() this.Session“userName“ = UserName; 長沙航空職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 Response.Redirect(“Main/MainPage.aspx“); else string scriptText = “alert(用戶名或密碼錯誤!請聯(lián)系您所交流的 客服QQ或電話!);“; Page.ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(), scriptText, true); 。 5.2 框架的搭建 5.2.1 主要架構(gòu): 對不起,您的瀏覽器不支持框架 5.2.2 友情鏈接圖片 Log 及鏈接: var curIndex=0; var timeIntervar=1000; var arr=new Array (); ASP.NET 郵件收發(fā)系統(tǒng) var Ihref=new Array (); arr 0=“/Image/local.jpg“; arr 1=“/Image/sina.jpg“; arr 2=“/Image/126.JPG“; arr 3=“/Image/yahoo.jpg“; arr 4=“/Image/qqq.jpg“; Ihref0=“#“; Ihref 1=“http:/ Ihref 2=“http:/ Ihref 3=“http:/ Ihref 4=“https:/ setInterval (changeImg,timeIntervar ); function changeImg() var obj=document.getElementById (“image“); var imgHref=document .getElementById (“imageHref“); for(var i=0;i 0) string scriptText = “alert(刪除成功);“; Page.ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(), scriptText, true); else string scriptText = “alert(刪除失敗);“; Page.ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(), scriptText, true); 5.6 通訊錄 5.6.1 綁定通訊錄: int totalCount = 0; int pageSize = 15; int pageCount = 0; totalCount = conn.count(“select count(1) from contract “); if (totalCount % pageSize = 0) ASP.NET 郵件收發(fā)系統(tǒng) pageCount = totalCount / pageSize; else pageCount = totalCount / pageSize + 1; this.GvPage.PageCount = pageCount; this.GvPage.PageIndex = pageIndex; this.GvPage.RecordCount = totalCount; string sql = “select * from contract “; gvContract.DataSource = conn.GetGrid_Pages_not(sql); gvContract.DataBind(); 5.6.2 刪除聯(lián)系人: string sql = “delete from contract where CID in (“ + str + “)“; int res = conn.ExeSql(sql); 5.7 草稿箱 5.7.1 草稿箱的數(shù)據(jù)綁定: int totalCount = 0; int pageSize = 15; int pageCount = 0; totalCount = conn.count(“select count(1) from sentLetter where isDraf=Ture“); if (totalCount % pageSize = 0) pageCount = totalCount / pageSize; else pageCount = totalCount / pageSize + 1; 長沙航空職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 this.GvPage.PageCount = pageCount; this.GvPage.PageIndex = pageIndex; this.GvPage.RecordCount = totalCount; ltCount.Text = totalCount.ToString(); string sql = “select * from sentLetter where isDraf=True“; gvDraf . DataSource = conn.GetGrid_Pages_not(sql); gvDraf.DataBind(); 5.7.2 草稿箱數(shù)據(jù)的刪除: string sql = “delete from sentLetter where sentId in (“ + str + “)“; int res = conn.ExeSql(sql); 5.8 聯(lián)系人 添加聯(lián)系人: string str = “; StringBuilder insertSql = new StringBuilder(); insertSql.AppendFormat (“insert into contract values(0,1,2,3,4,5,6)“,txtCName .Text .ToString (),this.rblSex .SelectedValue .ToString (),txtCAddr .Text .ToString (),txtCEmail .Text .ToString (),txtCQQ .Text .ToString (),txtCPhone .Text .ToString (),txtCRemark .Text .ToString (); int res = conn.ExeSql(insertSql.ToString(); if (res 0) str = “alert(恭喜添加聯(lián)系人成功);“; Page.ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(), str, true); Refresh(); else str = “alert(添加聯(lián)系人失敗);“; Page.ClientScript.RegisterStartupScript(this.GetType(), Guid.NewGuid().ToString(), str, true); ASP.NET 郵件收發(fā)系統(tǒng) 5.9 郵件轉(zhuǎn)發(fā) 郵件的轉(zhuǎn)發(fā),根據(jù)參數(shù)的傳遞,有草稿箱 Response.Redirect(“writter.aspx?ID=“ + ID+“、收件箱 Response.Redirect(“writter.aspx?ID=“ + ID + “ 、發(fā)件箱 Response.Redirect(“writter.aspx?ID=“ + ID + “、刪除箱 Response.Redirect(“writter.aspx?ID=“ + ID+“的郵件進(jìn)行轉(zhuǎn)發(fā)。轉(zhuǎn)發(fā)時 進(jìn)行判斷,獲取數(shù)據(jù): if (Request.QueryString“Opt“ != null) Opt = Request.QueryString“Opt“.ToString(); switch (Opt) case “draf“: sentLetterBind(); break; case “getLetter“: getLetterBind(); break; case “sentLetter“: sentLetterBind(); break; case “deleteLetter“: getLetterBind(); break; default: Refresh(); break; sentLetterBind(): string drafSql = “select * from sentLetter where sentId=“+id ; getLetterBind(): string drafSql = “select * from getLetter where ID=“ + id; 綁定數(shù)據(jù): SqlDataReader dataReader = conn.GetList(drafSql); if (dataReader.Read() txtSubject.Text = dataReader“getTitle“.ToString(); d_content.Value = “-原始文件- “; d_content.Value += dataReader“getContent“.ToString(); 長沙航空職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 6 數(shù)據(jù)庫設(shè)計 6.1 登錄系統(tǒng) CREATE TABLE dbo.userInfo( UserId int IDENTITY(1,1) NOT NULL, UserName varchar(50) COLLATE Chinese_PRC_CI_AS NULL, password varchar(50) COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT PK_userInfo PRIMARY KEY CLUSTERED ( UserId ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY ) ON PRIMARY 6.2 收件箱 CREATE TABLE dbo.getLetter( ID int IDENTITY(1,1) NOT NULL, getTitle varchar(50) COLLATE Chinese_PRC_CI_AS NULL, getContent text COLLATE Chinese_PRC_CI_AS NULL, getTime datetime NULL, getStatus bit NULL, getter varchar(50) COLLATE Chinese_PRC_CI_AS NULL, senter varchar(50) COLLATE Chinese_PRC_CI_AS NULL, getFile varchar(50) COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT PK_getLetter PRIMARY KEY CLUSTERED ( ID ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY ) ON PRIMARY TEXTIMAGE_ON PRIMARY 6.3 發(fā)件箱 CREATE TABLE dbo.sentLetter( sentId int IDENTITY(1,1) NOT NULL, sentTitle varchar(50) COLLATE Chinese_PRC_CI_AS NULL, sentContent text COLLATE Chinese_PRC_CI_AS NULL, ASP.NET 郵件收發(fā)系統(tǒng) sentTime datetime NULL, sentStatus bit NULL, senter varchar(50) COLLATE Chinese_PRC_CI_AS NULL, isDraf bit NULL CONSTRAINT DF_sentLetter_isDraf DEFAULT (0), getter varchar(50) COLLATE Chinese_PRC_CI_AS NULL, sentFile varchar(50) COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT PK_sentLetter PRIMARY KEY CLUSTERED ( sentId ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY ) ON PRIMARY TEXTIMAGE_ON PRIMARY 6.4 聯(lián)系人 CREATE TABLE dbo.userInfo( UserId int IDENTITY(1,1) NOT NULL, UserName varchar(50) COLLATE Chinese_PRC_CI_AS NULL, password varchar(50) COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT PK_userInfo PRIMARY KEY CLUSTERED ( UserId ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY ) ON PRIMARY 7 結(jié)論 這次編寫的郵件收發(fā)管理系統(tǒng),主要是郵件的發(fā)送的功能。在熟悉了專門用于發(fā) 送接收郵件的 SMTP 協(xié)議和 POP3 協(xié)議以及 RFC 規(guī)定的郵件的格式的基礎(chǔ)上,從實(shí)際使 用情況做起,一步步的與服務(wù)器進(jìn)行交互操作,最終實(shí)現(xiàn)發(fā)送接收普通郵件以及附件 的功能??傊ㄟ^這次的編程,使我對網(wǎng)絡(luò)編程有了一個很好的認(rèn)識和鍛煉,也使 我對.NET 這一語言的掌握程度又上了一個新臺階,雖然編出來的軟件不能和功能強(qiáng)大 的各種郵件收發(fā)管理系統(tǒng)相提并論,但是相信它簡單,易操作性,和很多強(qiáng)大的軟件 比起來,更多了幾分實(shí)用性。以后的日子,隨著我技術(shù)的提高和思想的成熟,我一定 會把它做的更好,更趨近于完美。 長沙航空職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計 8 參考文獻(xiàn) 1 尚俊杰ASP.NET 程序設(shè)計M北京:清華大學(xué)出版社,北京交通大學(xué)出版 社2004 2 劉振巖基于.NET 的 Web 程序設(shè)計M電子工業(yè)出版社2006 3 Dino Esposito 著,施平安 譯ASP.NET 2.0 技術(shù)內(nèi)幕北京:清華大學(xué)出版 社2006 4Kouresh Ardestani 著,張哲峰 譯高效掌握 ADO.NETC#編程篇北京:清華 大學(xué)出版社2003 5余金山ASP.NET 2.0+SQL Server 2005 企業(yè)項目開發(fā)與實(shí)戰(zhàn)北京:電子工業(yè) 出版社2008 6Jim Arlow,IIa NeustadtUML 2 and the Unified Process:PracticalObject- Oriented Analysis and Design,Second Edition北京:人民郵電出版社2006 7陳萱華如何利用 ASP.NET 技術(shù)訪問數(shù)據(jù)庫計算機(jī)與現(xiàn)代化2003 (2) 9 致謝 三年的大學(xué)生活在這個季節(jié)即將劃上一個句號,而于我的人生卻只是一個逗號,我 將面對又一次征程的開始。我的整個畢業(yè)設(shè)計從 3 月中旬正式開始,感謝我的導(dǎo)師, 謝謝你在我不知道解決難題的時候給予我的幫助,指導(dǎo)我完成畢業(yè)設(shè)計。感謝我的輔 導(dǎo)員,無論在學(xué)習(xí)還是生活上給我們的無微不至的關(guān)懷,讓我們感受到集體的溫暖。 感謝我的朋友們,一起努力奮斗的走過大學(xué)生活的朋友們,讓我們在這個陌生的地市 不寂寞,謝謝你們在我不懂的時候告訴我怎么做。感謝長沙航空職業(yè)技術(shù)學(xué)院,為我 們提供了良好的學(xué)習(xí)環(huán)境和生活環(huán)境,讓我們學(xué)會技術(shù)技巧和結(jié)識了五湖四海的朋友 們。感謝湖南博源科技有限公司的同事和領(lǐng)導(dǎo)們,讓我在貴公司實(shí)習(xí),學(xué)習(xí)項目開發(fā) 的整個過程,讓我懂得我和企業(yè)的距離。 最后再一次感謝所有在畢業(yè)設(shè)計中曾經(jīng)幫助過我的良師益友和同學(xué),以及在設(shè)計中 被我引用或參考的論著作者,謝謝你們。

注意事項

本文(ASP.NET郵件收發(fā)系統(tǒng)計算機(jī)與軟件工程專業(yè)畢業(yè)設(shè)計畢業(yè)論文.doc)為本站會員(good****022)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!