} //此段代码用来发送带有附件的邮件 void jButton6_actionPerformed(ActionEvent e) { try { Properties props = System.getProperties(); Authenticator auth = new Email_Autherticator(); props.put("mail.smtp.host",host); props.put("mail.smtp.auth","true"); Session session = Session.getDefaultInstance(props,auth); //建立session Store store = session.getStore("pop3"); store.connect(host,username,password);
//After connecting to the Store,you can get a Folder,which must be opened before you can read messages from it: Folder folder = store.getFolder("INBOX"); folder.open(Folder.READ_WRITE); Message message[] = folder.getMessages();
if (out_content_type.startsWith("text/plain") | | out_content_type.startsWith("text/html")) { InputStream ipstm = messagePart.getInputStream(); BufferedReader bufreader = new BufferedReader(new InputStreamReader(ipstm)); String thisLine = bufreader.readLine(); while (thisLine != null) { System.out.println("thisLine: "+thisLine); thisLine = bufreader.readLine(); } } //获取附件 Multipart mp = (Multipart)message[i].getContent(); for (int j=0,m=mp.getCount();j { System.out.println("***"+m+"***"); Part part = mp.getBodyPart(j); String disposition = part.getDisposition(); if ((disposition != null) && ((disposition.equals(part.ATTACHMENT)) | | (disposition.equals(part.INLINE)))) {
//以下代码将获得的附件保存到当前目录下,以part.getFileName()为文件名,也既是附件的名称。 File filename = new File(part.getFileName()); for (int k=0;filename.exists();k++) { filename = new File(part.getFileName()+k); } FileOutputStream myFileoutputstream = new FileOutputStream(filename); int chunk = part.getSize();//获得附件的大小,不一定很准确。