久久无码高潮喷水抽搐,极品馒头泬19p,久久人人爽精品玩人妻av,精品国产成人国产在线视,精品视频一区二区三区在线观看

最新更新最新專題

您的位置:首頁 > ppt下載 > PPT課件 > 課件PPT > javamail ppt

javamail ppt下載

素材大小:
1 MB
素材授權:
免費下載
素材格式:
.ppt
素材上傳:
lipeier
上傳時間:
2020-01-03
素材編號:
248815
素材類別:
課件PPT

素材預覽

javamail ppt

這是javamail ppt,包括了JavaMail基礎知識,發(fā)送簡單郵件,發(fā)送SMTP身份認證的郵件,接收郵件,郵件附件的處理等內容,歡迎點擊下載。

javamail ppt是由紅軟PPT免費下載網推薦的一款課件PPT類型的PowerPoint.

第八章 Java Mail 編程 常見電子郵件協(xié)議 SMTP (Simple Mail Transfer Protocol,簡單郵件傳輸協(xié)議) POP(Post Office Protocol,郵局協(xié)議) IMAP(Internet Message Access Protocol,Internet 消息訪問協(xié)議) MIME(Multipurpose Internet Mail Extensions,多用途Internet 郵件擴展標準)不是郵件傳輸協(xié)議,它只定義了需要傳輸?shù)南ⅰ⒏郊捌渌愋蛿?shù)據(jù)的格式。 Java Mail體系可以分為三層: 抽象層 Internet 郵件實現(xiàn)層 協(xié)議實現(xiàn)層 Java Mail抽象層:該層定義了用于郵件處理功能的抽象類、接口和抽象方法,所有的郵件系統(tǒng)都支持這些功能,它獨立于供應商和協(xié)議消息。抽象層位于Java Mail 頂級包(即javax.mail)內。 Internet 郵件實現(xiàn)層:該層實現(xiàn)了部分抽象層元素,它遵循Internet 標準―RFC822和MIME。Internet 郵件實現(xiàn)層所定義的類和接口大多位于javax.mail.internet 包內。 協(xié)議實現(xiàn)層:該層由服務提供商實現(xiàn)對特定協(xié)議的支持,如SMTP、POP、IMAP 和NNTP。Sun 為開發(fā)者提供了很完備的一組協(xié)議的支持。 核心Java Mail API 可以分為兩部分,一部分由七個主要對象組成:Session、Message、Address、Authenticator、Transport、Store 和Folder,利用這些對象可以完成包括發(fā)送消息、檢索消息、刪除消息、認證、回復消息、轉發(fā)消息、管理附件、處理基于HTML 文件格式的消息及搜索或過濾郵件列表等任務 核心Java Mail API 的另一部分的主要接口和類包括Part、Message、Bodypart、Multipart、MimePart、MimeMessage、MimiBodypart 和MimeMultipart,可以用這些類和接口完成電子郵件的閱讀、撰寫等任務。 程序8-2:SendMail.java(片斷) try{ Properties props = new Properties(); Session sendMailSession; Store store; Transport transport; sendMailSession = Session.getInstance(props, null); props.put("mail.smtp.host", host); Message newMessage = new MimeMessage(sendMailSession); newMessage.setFrom(new InternetAddress(request.getParameter("from"))); newMessage.setRecipient(Message.RecipientType.TO, new InternetAddress ( request.getParameter ("to"))); newMessage.setSubject(request.getParameter("subject")); newMessage.setSentDate(new Date()); newMessage.setText(request.getParameter("text")); Transport.send(newMessage); ////顯示發(fā)送成功的提示 out.println(" the Email send sucess!"); Java Mail API 的中文問題。 如果開發(fā)者使用setSubject()方法直接設定中文的主題或者使用setText()方法直接指定中文內容,那么在使用Outlook 等客戶端軟件查看郵件時客戶有可能看到的將是一團亂碼。 解決方案?只需要指定郵件主題和郵件正文的字符集為“ISO-8859-1” 即可。 為了防止惡意用戶利用SMTP 服務器進行發(fā)送垃圾郵件等破壞活動,SMTP 服務器一般需要身份驗證。只有通過了身份驗證的用戶才有權利利用SMTP 服務器發(fā)送郵件。 javaMail 用類javax.mail.Authenticator來進行用戶認證。驗證信息需要通過Session 傳給郵件服務器,所以Session 對象的getInstance 有以下的變形 static Session getInstance(Properties prop,Authenticator auth); static Session getDefaultInstance(Properties prop,Authenticator auth); 其中的Authenticator 負責密碼校驗。如果不需要驗證身份,就用null 做第二個參數(shù),或者直接用單參數(shù)的getInstance。如果Session 是需要密碼的,那么Session 會自動發(fā)出如下調用 javax.mail.PasswordAuthentication getPasswordAuthentication(); PasswordAuthentication 只是一個包裝類,里面包了用戶名和密碼。因此如果要實現(xiàn)SMTP認證的郵件發(fā)送,必須首先自己定義一個繼承javax.mail.Authenticatior的類。 程序8-4:Auth.java import javax.mail.Authenticator; import javax.mail.PasswordAuthentication; public class Auth extends Authenticator { String username=""; String password=""; public Auth(String username,String password){ this.username=username; this.password=password; } public PasswordAuthentication getPasswordAuthentication(){ return new PasswordAuthentication( username, password); } } 程序8-5: sendAuthmail.java(片段) //初始化收件人郵件地址、發(fā)件人郵件地址和主機名,下面的各初始化字符串均為任意設置 String to = "teacher@hyl.com"; String from = "student@hyl.com"; String host ="127.0.0.1" ; //創(chuàng)建一個屬性對象 Properties props = new Properties(); //指定發(fā)送郵件服務器,使用smtp 協(xié)議 props.put("mail.smtp.host", host); props.put("mail.smtp.auth","true"); Auth au=new Auth("hyl","123456"); //獲取會話 Session session = Session.getInstance(props, au); try { //創(chuàng)建消息,設置郵件發(fā)件人地址、收件人地址、主題 MimeMessage msg = new MimeMessage(session); msg.setFrom(new InternetAddress(from)); msg.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); msg.setSubject("send Example"); // 開始設置消息內容 msg.setSentDate(new Date()); String text="Hi, this is Email by authentication!"; msg.setText(text); // 發(fā)送郵件 Transport.send(msg); ////顯示發(fā)送成功的提示 out.println(" the Email send sucess!"); } catch (MessagingException e) { //異常處理 out.println(" the Email send failed!"); out.println(e.toString()); } 接收郵件過程比較簡單,但是接收的方式和服務器有很大的關系:是IMAP的服務器還是普通的POP服務器,支持多少個文件夾,支持多少種郵件標記。這些都需要事先了解好或者用程序去探測。 發(fā)送附件 發(fā)送附件非常像轉發(fā)消息,程序開發(fā)人員需要建立各部分以組成完整消息,完成消息正文后,即開始添加其他部件,其中每個 DataHandler 都代表附件,而不是轉發(fā)消息情況下的共享處理程序。如果從文件中讀附件,附件的數(shù)據(jù)源是 FileDataSource。而如果從 URL 中讀時,附件的數(shù)據(jù)源是 URLDataSource。一旦存在 DataSource,只要先把它傳遞給 DataHandler 構造器,最后再用 setDataHandler() 把它附加到 BodyPart。假定要保留附件的原始文件名,最終要做的是用 BodyPart 的 setFileName() 方法設置與附件相關的文件名。 程序8-12:SendAttachmentMail.java(片段) // 正文部分 BodyPart messageBodyPart = new MimeBodyPart(); // Fill the message String contentMessage=request.getParameter("body"); messageBodyPart.setText(contentMessage); Multipart multipart = new MimeMultipart(); multipart.addBodyPart(messageBodyPart); // Part two is attachment String filename=request.getParameter("thefile"); messageBodyPart = new MimeBodyPart(); DataSource source = new FileDataSource(filename); messageBodyPart.setDataHandler(new DataHandler(source)); messageBodyPart.setFileName(filename); multipart.addBodyPart(messageBodyPart); // Put parts in message mimeMsg.setContent(multipart); // Send the message Transport.send(mimeMsg); 接收附件 從郵件中獲取附件比發(fā)送它們要困難,因為 MIME 沒有簡單的關于附件的概念。當消息包含附件時,消息的內容是個 Multipart 對象。接著,開發(fā)者需要處理每個 Part,獲取主要內容和附件。標有從 part.getDisposition() 獲得的 Part.ATTACHMENT 配置(disposition)的部件(Part)無疑就是附件。但是,沒有配置(及一個非文本 MIME 類型)和帶 Part.INLINE 配置的部件也可能是附件。當配置要么是 Part.ATTACHMENT,要么是 Part.INLINE 時,這個消息部件的內容就能被保存。只要用 getFileName() 和 getInputStream() 就能分別得到原始文件名和輸入流。 程序8-13: ReceiveMimeMail.java(片段) Multipart mp = (Multipart)message[nid].getContent(); String szFile=""; File ffile; //String szpath=""; for (int i=0,n=mp.getCount(); issy紅軟基地

PPT分類Classification

Copyright:2009-2024 紅軟網 rsdown.cn 聯(lián)系郵箱:rsdown@163.com

湘ICP備2024053236號-1