- 作者:zhaozj
- 发表时间:2020-12-23 10:35
- 来源:未知
//此段代码用来发送带有html信息的邮件 void jButton8_actionPerformed(ActionEvent e) { try { Properties props = new Properties(); Authenticator auth = new Email_Autherticator(); props.put("mail.smtp.host",host); props.put("mail.smtp.auth","true"); Session session = Session.getDefaultInstance(props,auth); MimeMessage message = new MimeMessage(session); //设置邮件正文 String htmltext="< h1>hello< /h1>"+"< a href=/"http://www.sina.com.cn/" target=/"_blank/">click me please!< /a>"; message.setContent(htmltext,"text/html");//text/plain设置邮件的格式因为是带有html文档的,所以用text/html格式 message.setSubject(mail_subject); // message.setText(mail_body);在使用message.setContent()时候,好象不能用message.setText() message.setHeader(mail_head_name,mail_head_value); message.setSentDate(new Date()); Address address = new InternetAddress(mail_from,"sunxiaoming"); message.setFrom(address); Address toAddress = new InternetAddress(mail_to); message.addRecipient(Message.RecipientType.TO,toAddress); Transport.send(message); System.out.println("send ok!"); } catch(Exception ex) { System.out.println("faild"+ex); } } //此段代码用来发送带有图片的邮件 void jButton9_actionPerformed(ActionEvent e) { try { String file = "./20020423/test.gif"; Properties props = new Properties(); Authenticator auth = new Email_Autherticator(); props.put("mail.smtp.host",host); props.put("mail.smtp.auth","true"); Session session = Session.getDefaultInstance(props,auth); MimeMessage message = new MimeMessage(session); message.setSubject("Embedded Image"); Address address = new InternetAddress(mail_from,"sunxiaoming"); message.setFrom(address); Address toAddress = new InternetAddress(mail_to); message.addRecipient(Message.RecipientType.TO,toAddress); message.setHeader(mail_head_name,mail_head_value); message.setSentDate(new Date()); BodyPart messageBodyPart = new MimeBodyPart(); String htmlText = "< h1>< /h1>"+"< img src=/"cid:memememe/">";//加入图片 messageBodyPart.setContent(htmlText,"text/html"); //原理同发送附件一样,将邮件看成有多个部分组成的,先设置每一个部分,然后再全部将它们合起来即可。 //Create a related multi-part to combine the parts MimeMultipart multipart = new MimeMultipart("related"); multipart.addBodyPart(messageBodyPart); //Create part for the image messageBodyPart = new MimeBodyPart(); //Fetch the image and associate to part DataSource fds = new FileDataSource(file); messageBodyPart.setDataHandler(new DataHandler(fds)); messageBodyPart.setHeader("Content-ID","memememe"); //Add part to multi-part multipart.addBodyPart(messageBodyPart); //Associate multi-part with message message.setContent(multipart); Transport.send(message); System.out.println("send ok!"); } catch(Exception ex) { System.out.println("faild"+ex); } } //该程序用来接受带有html信息的邮件 void jButton7_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); 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(); for (int i=0,n=message.length;i // for (int i=0,n=1;i { String out_from_person = ((InternetAddress)message[i].getFrom()[0]).getPersonal(); String out_from_address = ((InternetAddress)message[i].getFrom()[0]).getAddress(); System.out.println("From:"+out_from_person+"/t"); System.out.println("Address:"+out_from_address+"/t"); String out_subject = message[i].getSubject(); System.out.println("Subject:"+out_subject+"/t"); //获取邮件的信息,并且对其每一部分进行操作 Part messagePart = message[i]; Object out_content = messagePart.getContent(); if (out_content instanceof Multipart) { messagePart = ((Multipart)out_content).getBodyPart(0); System.out.println("[ Multipart Message ]"); } String out_content_type = messagePart.getContentType(); System.out.println("CONTENT:"+out_content_type); jEditorPane1.setText("");//将其显示在jEditorPanel上 jEditorPane1.setContentType("text/html"); jEditorPane1.setText((String)out_content); jEditorPane1.setEditable(false); /* 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(); } } */ System.out.println("------------------------------------------------------------"); message[i].setFlag(Flags.Flag.DELETED,true); } folder.close(true); store.close(); } catch(Exception ej2) { System.out.println(ej2); } }