freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于javamail的電子郵件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文-wenkub.com

2024-11-03 22:01 本頁(yè)面
   

【正文】 if // 關(guān)閉目標(biāo)郵件夾 true 。 Message[] messages uid 。// 打開指定的郵件夾 message 。 else 。 // 連接到郵件服務(wù)器 host, username, password 。 mailInfo new MailInfo 。// 附件保存的位置 private StringBuffer content new StringBuffer 。 private boolean saveAttachments false。 private String password null。 // 發(fā)送消息 message 。 sb 。 // 對(duì)中文進(jìn)行編碼 private String encode String mailadd throws UnsupportedEncodingException Pattern p Patternpile \ .*? \ ? 。 !.equals , UTF8 。amp。// 設(shè)置收件人 if ! null amp。// 設(shè)置發(fā)件人 new InterAddress encode 。 return mixed。 FileDataSource fds new FileDataSource file 。 // 添加附件 mixed addAttachment mixed 。 // 添加 multipart 到郵件內(nèi)容上 if multipart null multipart createAlternative multipart 。 + 。 // 添加內(nèi)嵌資源 private MimeMultipart addResource MimeMultipart related throws MessagingException String resources[] .split , 。 MimeMultipart related new MimeMultipart related 。 html 。 // 創(chuàng)建什么都不含的郵件體( alternative) private MimeMultipart createAlternative MimeMultipart multipart throws MessagingException multipart new MimeMultipart alternative 。 // 添加 multipart 到郵件內(nèi)容上 if multipart null multipart createAlternative multipart 。 .length 0 multipart createRelated multipart 。amp。// 創(chuàng)建 session MimeMessage message new MimeMessage session 。 附 錄 發(fā)送郵件代碼 : public class SendMail private MailBean mail null。 展望 電子郵件系統(tǒng)在進(jìn)行系統(tǒng)分析和設(shè)計(jì)時(shí),由于受時(shí)間、技術(shù)及復(fù)雜度的限制,功能實(shí)現(xiàn)上比較簡(jiǎn)單,靈活性、實(shí)用性不高,有些預(yù)想的功能并未能實(shí)現(xiàn),如聯(lián)系人管理模塊,管理員管理郵件服務(wù)器功能模塊。 ,確定了電子郵件系統(tǒng)的體系結(jié)構(gòu)和功能模塊,提出了系統(tǒng)的解決方案。在技術(shù)上,使用 Struts2 + Spring + Hibernate 技術(shù),郵件服務(wù)器采用 Apache James 郵件服務(wù)器。 開始標(biāo)準(zhǔn): 接口測(cè)試完成之后。 開始標(biāo)準(zhǔn): 無(wú) 完成標(biāo)準(zhǔn): 功能流程及操作使用達(dá)到預(yù)期設(shè)計(jì)標(biāo)準(zhǔn)。 對(duì)于各種數(shù)據(jù)的輸入,系統(tǒng)都能正確處理這些數(shù)據(jù),呈現(xiàn)給用戶相關(guān)的信息。主要根據(jù)下列原則來(lái)進(jìn)行等價(jià)分配,以合理減少測(cè)試實(shí)例:邊界條件、次邊界條件和無(wú)效數(shù)據(jù)。需要進(jìn)行系統(tǒng)的測(cè)試。在設(shè)計(jì)過(guò)程中主要使用了軟件工程的詳細(xì)設(shè)計(jì)步驟,實(shí)現(xiàn)過(guò)程中使用了 UML 建模 語(yǔ)言的序列圖和協(xié)助圖。 7. getMailBean 方法會(huì)執(zhí)行電子郵件的查詢,并返回封裝好的電子郵件信息。 3. execute 方法會(huì)執(zhí)行收取本用戶收件夾下的所有電子郵件操作,并返回所有的電子郵件信息列表 如圖 526 所示 。 7. UserSendMailAction 類中的 sendEmail 會(huì)根據(jù) SendMail 類的 sendMail方法返回值,來(lái)判斷電子郵件是否發(fā)送成功。 圖 523 發(fā)送電子郵件頁(yè)面 3. 在寫信頁(yè)面用戶填入要發(fā)送的電子郵件信息,當(dāng)然用戶也可以選擇上傳附件,等附件上傳完畢之后用戶就可以點(diǎn)擊發(fā)送按鈕發(fā)送電子郵件了。 12. 返回通過(guò)安全郵箱修改密碼成功信息給 user_find_questionSuccess. Jsp 頁(yè)面,密碼修改成功頁(yè)面如圖 522 所示。通過(guò)安全郵箱找回密碼 Action 動(dòng)作會(huì)將用戶提交的用戶郵箱名稱提交的業(yè)務(wù)邏輯類。將用戶提交的安全問(wèn)題答案和新的密碼給業(yè)務(wù)邏輯類,業(yè)務(wù)邏輯類將數(shù)據(jù)傳遞給數(shù)據(jù) 訪問(wèn)類。 7. 查詢用戶數(shù)據(jù)訪問(wèn)類返回用戶注冊(cè)時(shí)填寫的用戶安全問(wèn)題。 5. 業(yè)務(wù)邏輯類根據(jù)數(shù)據(jù)訪問(wèn)類返回的成功信息跳轉(zhuǎn)到用戶找回密碼第二步頁(yè)面如圖 519 所示。 3. 用戶在密碼找回第一步頁(yè)面中輸入郵箱名稱和驗(yàn)證碼,并點(diǎn)擊下一步。 4. 數(shù)據(jù)訪問(wèn)層將用戶的具體信息保存到數(shù)據(jù)庫(kù)中,并返回保存狀況信息。 注冊(cè)新用戶的實(shí)現(xiàn) 用戶注冊(cè)新用戶的實(shí)現(xiàn)如以下步驟: 1. 用戶進(jìn)入注冊(cè)新用戶界面,界面如圖 517。 6. 如果 find 方法找到了用戶 User 則檢測(cè)用戶密碼是否相同,如果相同則用戶登錄成功 成功頁(yè)面如圖 515 所示 ,否則返回錯(cuò)誤信息給 頁(yè)面。 2. 用戶在登錄頁(yè)面中輸入自己的賬號(hào)和密碼并點(diǎn)擊登錄。因?yàn)?jQuery 的跨瀏覽器性,所以采用 jQuery 開 發(fā)的 Jsp 頁(yè)面動(dòng)態(tài)效果也具有跨瀏覽器性。其中 Struts2主要負(fù)責(zé)用戶提交數(shù)據(jù)的處理以及數(shù)據(jù)處理完成之后用戶 Jsp頁(yè)面之間的跳轉(zhuǎn), Hibernate 主要負(fù)責(zé)用戶與數(shù)據(jù)庫(kù)的各項(xiàng)操作。 10. 發(fā)送郵件顯示頁(yè)面給用戶。 6. 用戶在郵件信息列表頁(yè)面中點(diǎn)擊要查看的郵件的具體信息。 3. 數(shù)據(jù)訪問(wèn)類根據(jù)用戶要查詢的郵件夾信息加載該郵件夾中的具體信息。 圖 510 用戶發(fā)送電子郵件序列圖 與用戶發(fā)送電子郵件序列圖對(duì)應(yīng)的協(xié)作圖如圖 511 所示。當(dāng)電子郵件發(fā)送完畢之后返回給業(yè)務(wù)邏輯類發(fā)送成功信息。 圖 58 安全問(wèn)題找回密碼序列圖 通過(guò)安全郵箱找回密碼序列圖如圖 59 所示。 圖 57 用戶找回密碼用戶名檢測(cè)序列圖 用戶找回密碼可以有兩種方 式,第一種是通一過(guò)安全問(wèn)題找回密碼,第二種是通過(guò)安全郵箱找回密碼。 8. 如果用戶選擇的是通過(guò)安全郵箱找回密碼,則直接在業(yè)務(wù)邏輯類中向用戶安全問(wèn)題郵箱發(fā)送密碼重置電子郵件。將用戶提交的新密碼信息提交給業(yè)務(wù)邏輯類,業(yè)務(wù)邏輯類再將信息傳遞個(gè)數(shù)據(jù)訪問(wèn)類。 3. 如果用戶輸入的信息有效則進(jìn)入下一步操作,否者返回失敗信息。 圖 56 注冊(cè)新用戶協(xié)作圖 用戶找回密碼信息設(shè)計(jì) 1. 用戶進(jìn)入找回密碼界面,輸入找回密碼信息并提交。 6. 業(yè)務(wù)邏輯類根據(jù)數(shù)據(jù)訪問(wèn)類返回的信息跳轉(zhuǎn)到相應(yīng)的頁(yè)面。 3. 業(yè)務(wù)邏輯類根據(jù)用戶提交的信息判斷數(shù)據(jù)的有效性。 根據(jù)基本流程,用戶登錄電子郵件系統(tǒng)的序列圖如圖 53 所示。 4. 檢測(cè)完畢后將驗(yàn)證結(jié)果返回到登錄界面上顯示。其系統(tǒng)功能結(jié)構(gòu)圖如圖 52 所示。該架構(gòu)使系統(tǒng)結(jié)構(gòu)更清楚、分工更明確,有利于后期的維護(hù)和升級(jí)。表現(xiàn)層同時(shí)應(yīng)該根據(jù)用戶的具體操作顯示不同的頁(yè)面。另外,在頁(yè)面組織上采用模塊化設(shè)計(jì),設(shè)計(jì)出公用的界面頭和尾,以減少代碼的冗余和提高代碼開發(fā)效率 [16]。電子郵件系統(tǒng)主要是為普通用戶而設(shè)計(jì)。其表結(jié)構(gòu)的設(shè)計(jì)如表 44 所示。 用戶基本信息表是用來(lái)存儲(chǔ)用戶注冊(cè)時(shí)填寫的基本信息。 表 42 用戶登錄信息表 字段名 英文名稱 字段類型 字段大小 登錄賬號(hào) name Varchar 255 密碼加密算法 alg Varchar 255 用戶權(quán)限 enable Bit 1 登錄密碼 password Varchar 255 版本號(hào) version Int 11 用戶登錄信息表主要應(yīng)用是在用戶登錄的時(shí)候。 用戶登錄關(guān)系模式 主鍵用下劃線標(biāo)出 : jamesuser name, alg, enable, password, version 用戶基本信息關(guān)系模式: userinfo id, address, alias, answer, gender, mark, phoneNum, pwdEmail, question, user_id 郵件信息關(guān)系模式 : message id, bodyStartOctet, contentOctets, mediaType, subtype, content 通過(guò)對(duì)以上數(shù)據(jù)信息進(jìn)行分析,郵件系統(tǒng)數(shù)據(jù)庫(kù)表的設(shè)計(jì)包括用戶登錄信息表、用戶基 本信息表。 郵件信息 實(shí)體包括的屬性有信息頭字節(jié)、內(nèi)容字節(jié)、子類型、媒體類型、內(nèi)容等其實(shí)體屬性圖,其中郵件 ID 為主鍵。 從本系統(tǒng)中規(guī)劃出的實(shí)體有:用戶登錄信息、用戶基本信息。數(shù)據(jù)庫(kù)設(shè)計(jì)主要包括兩個(gè)方面內(nèi)容:數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn)。 用戶基本信息:昵稱、性別、電話號(hào)碼、家庭住址、安全問(wèn)題、安全問(wèn)題答案、找回密碼電子郵箱地址、備注等信息。 1. 用戶在填寫基本信息的時(shí)候要求填入用戶別名、性別、安全郵箱地址、安全問(wèn)題、安全問(wèn)題答案、家庭住址、電話號(hào)碼、備注等基本的與用戶有關(guān)的信息。在本系統(tǒng)中通過(guò)修改 Apache James 郵件服務(wù)器的配置文件將電子郵件存放到了MySQL 數(shù)據(jù)庫(kù),而用于存儲(chǔ)郵件信息的數(shù)據(jù)表則是由 James 郵件服務(wù)器自動(dòng)建立的。 再設(shè)計(jì)電子郵件系統(tǒng)的時(shí)候應(yīng)該充分考慮到電子郵件的安全問(wèn)題。 2. 快捷性:當(dāng)用戶發(fā)送完一封電子郵件的時(shí)候收件人可以快速的收取到用戶發(fā)送的電子郵件。 ( 2)管理郵件信息:可以分為刪除電子郵件、發(fā)送新郵件和查看電子郵件。 ( 4)管理個(gè)人信息:該功能可以使用戶方便的修改自己的個(gè)人信息。 2. 通過(guò)對(duì)以上信息分析得出用戶能夠通過(guò)該系統(tǒng)進(jìn)行的活動(dòng),如圖 31 所示。同時(shí)應(yīng)該能夠快速的添加收件人等。 ( 1)用戶對(duì)自己信息管理的要求。對(duì)于本系統(tǒng)的需求分析,分別從功能需求、性能需求、數(shù)據(jù)庫(kù)需求三個(gè)主要方面分別詳述。用戶對(duì)郵件信息的刪除、移動(dòng)以及個(gè)人信息的修改等操作的結(jié)果也都會(huì)寫入該數(shù)據(jù)庫(kù)保存起來(lái)。用戶可以登錄到程序主頁(yè)面進(jìn)行相關(guān)操作。在理想情況下,對(duì)某一部分的理解、測(cè)試或修改,無(wú)需涉及到其他部分。 2. 可重用:軟件重用是提高軟件開發(fā)生產(chǎn)率和目標(biāo)系統(tǒng)質(zhì)量的重要途徑。所謂的優(yōu)秀軟件,就是權(quán)衡了各種因素,從而使得系統(tǒng)在整個(gè)生命周期中的總開銷最小的設(shè)計(jì)。 軟件需求分析工作是軟件生存期中具有決定性意義的一步,只有通過(guò)需求分析才能把軟件的功能和性能的總體要領(lǐng)描述為具體的軟件規(guī)程說(shuō)明,從而奠定軟件開發(fā)基礎(chǔ)。在用戶需求調(diào)研結(jié)束之后,應(yīng)立即進(jìn)行用戶需求分析。 圖 24 電子郵件工作原理 小結(jié) 本章主要介紹了本系統(tǒng)開發(fā)中所用的一些技術(shù),為系統(tǒng)的編寫打下了堅(jiān)實(shí)的基礎(chǔ)。與個(gè)人計(jì)算機(jī)不同,這些郵件服務(wù)器及其程序必須每天 24 小時(shí)不停地運(yùn)行,否則就不能收發(fā)郵件了,簡(jiǎn)單郵件傳輸協(xié)議 SMTP( Simple Mail Transfer Protocol)和郵局協(xié)議 POP( Post Office Protocol)是負(fù)責(zé)用客戶機(jī) /服務(wù)器模式發(fā)送和檢索電子郵件的 協(xié)議。 IMAP4 協(xié)議: IMAP 的全稱是 Inter Message Access Protocol 顧名思義,主要提供的是通過(guò) Inter 獲取信息的一種協(xié)議。工作在兩種情況下一是電子郵件從客戶機(jī)傳輸?shù)椒?wù)器二是從某一個(gè)服務(wù)器傳輸?shù)搅硪粋€(gè)服務(wù)器。下面分別對(duì)其進(jìn)行簡(jiǎn)單介紹。 這種非交互式的通信 ,加速了信息的交流及數(shù)據(jù)傳送 ,它是―個(gè)簡(jiǎn)易、快速的方法。 James 一個(gè)更重要的設(shè)計(jì)目標(biāo)是提出了 Mailet 概念, Mailet 提供了一個(gè)開發(fā)郵件應(yīng)用程序的完整生命周期。 James 是多線程的,它使用了很多 Avalon 架構(gòu)提供的功能。 Mailet 可以生成一個(gè)自動(dòng)回復(fù),更新數(shù)據(jù)庫(kù),阻止垃圾郵件,建立消息檔案,或者任何我們能想像的到的功能。 The Java Apache 企業(yè)郵件服務(wù)器( . Apache James)是一個(gè) 100%用Java 實(shí)現(xiàn)的 SMTP 和 POP3 郵件服務(wù)器,同時(shí),他還實(shí)現(xiàn)了 NNTP 新聞服務(wù)器的功能。 MySQL服務(wù)器支持關(guān)鍵任務(wù)、重負(fù)載生產(chǎn)系統(tǒng)的使用,也可以將它嵌入到一個(gè)大配置的軟件中去。MyEclipse 的功能
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1