?? mailcomplex.java~56~
字號:
package mailofjava;/** 本程序演示以下內容 1 message的標志演示 2 如何刪除郵件 3 如何在服務器端搜索出符合條件的郵件 4 接收附件并存在硬盤上 */import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.util.*;import javax.mail.Flags.*;import javax.mail.*;import javax.mail.internet.*;import javax.activation.*;import java.io.*;public class MailComplex extends JFrame { Message[] msg; Message msga; Flags flg; Stack attachedFiles;//放文件名 JLabel jl; Icon iic; Image img; Container ct; public MailComplex() { super("ok"); ct = this.getContentPane() ; attachedFiles = new Stack(); CreateMessage cm=new CreateMessage(1);//取得數(shù)據(jù) msg=cm.getMessage() ; msga=msg[0];//只處理一個郵件,如果有附件的話,處理第一個圖形附件 try{ if(!msga.isMimeType("multipart/mixed") ){ System.err.println("錯誤,本程序只接收帶附件圖片的郵件,請重新發(fā)送") ; System.exit(0); }// 判斷是不是有附件 attachHandle();//處理附件 this.showAttachedFileName() ; /* if(msga.isSet(Flags.Flag.DELETED ))//其它標記不支持的 System.out.println("mail 0:deleted"); else System.out.println("mail 0:okay"); msga.setFlag(Flags.Flag.DELETED ,true);//刪除標記 System.out.println("mail 0:deleted");//請用foxmail遠程功能檢查是否刪除*/ } catch(Exception e){ System.out.print("意外:不能處理刪除");System.exit(1); };}//構造public void attachHandle(){try{ Multipart mp1 =(Multipart ) msga.getContent() ; for(int i=0;i<mp1.getCount() ;i++){ BodyPart bp1= mp1.getBodyPart(i) ;//只處理第一級附件,附件不處理 System.err.println("取出第"+i+"部份,類型"+bp1.getContentType()) ; if(bp1.isMimeType("image/*") ){//如果是圖像就存?zhèn)€盤 String disposition= bp1.getDisposition() ; if(disposition!=null && (disposition.equals(Part.ATTACHMENT) || disposition.equals(Part.INLINE ))) { String name= bp1.getFileName(); attachedFiles.push(name);//壓入 FileOutputStream fos=new FileOutputStream( name);//新建文件存在documentbase上 bp1.writeTo(fos); fos.close() ; fos=null; }//dispostion如果是可以存盤的附件 }//if(bp1.isMimeType("image/*") }//for }catch(Exception e){ e.printStackTrace() ;};}//attachHandlepublic void showAttachedFileName(){ Enumeration enum = attachedFiles.elements() ; while(enum.hasMoreElements() ) System.err.println("附件: "+ enum.nextElement() ); String myname; myname=(String) attachedFiles.pop() ;//取出一個附件 //iic=new ImageIcon(myname); iic=new ImageIcon("yp.jpg"); jl=new JLabel("ok",iic,SwingConstants.LEFT ); ct.add(jl);}//顯示 public static void main(String[] args) { MailComplex mailComplex1 = new MailComplex(); mailComplex1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE ); mailComplex1.setSize(400,200); mailComplex1.setVisible(true); }}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -