ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 메일 서비스
    카테고리 없음 2016. 8. 18. 18:41

    https://drive.google.com/file/d/0ByUcPT6jVZssYmYyYzE4YTctMWU4ZC00NTA4LWI3NjctZTk2ZjBlNzY1MDBl/view?ddrp=1&hl=en_GB&pli=1#



     @Override
        public void data(InputStream data) throws RejectException, TooMuchDataException, IOException {
            Session session = factory.getSession();
            
            if (from == null || from.length() < 1) {
                return;
            }
            if (to.size() < 1) {
                return;
            }
    
            try {
                MimeMessage message = new MimeMessage(session, data);
                String mimeType = message.getContentType();
                Date dt = new Date();
                String folder = String.format("outbox/%s/%s/%s", from, dtDate.format(dt), dtTime.format(dt));
                File f = new File(folder);
                if (!f.mkdirs()) {
                    throw new RejectException("Unable to create folder: " + folder);
                }
                if (message.isMimeType("text/*")) {
                    FileWriter fw = new FileWriter(folder + "/text.txt");
                    BufferedWriter bw = new BufferedWriter(fw);
                    bw.write((String) message.getContent());
                    bw.close();
                } else if (message.isMimeType("multipart/*")) {
                    Multipart mp = (Multipart) message.getContent();
                    int idx = 0;
                    int count = mp.getCount();
                    for (int i = 0; i < count; i++) {
                        BodyPart part = mp.getBodyPart(i);
                        String name = part.getDataHandler().getName();
                        if (part.isMimeType("text/*")) {
                            if (name == null) {
                                name = "text-" + (++idx) + ".txt";
                            }
                            FileWriter fw = new FileWriter(folder + '/' + name);
                            BufferedWriter bw = new BufferedWriter(fw);
                            bw.write((String) part.getContent());
                            bw.close();
                        } else {
                            if (name == null) {
                                name = "attachment-" + (++idx);
                            }
                            FileOutputStream fos = new FileOutputStream(folder + '/' + name);
                            BufferedOutputStream bos = new BufferedOutputStream(fos);
                            part.getDataHandler().writeTo(bos);
                            bos.close();
                        }
                    }
                } else if (message.isMimeType("message/rfc822")) {
                    // Not implemented
                } else {
                    Object o = message.getContent();
                    if (o instanceof String) {
                        FileWriter fw = new FileWriter(folder + "/text.txt");
                        BufferedWriter bw = new BufferedWriter(fw);
                        bw.write((String)o);
                        bw.close();
                    } else if (o instanceof InputStream) {
                        FileOutputStream fos = new FileOutputStream(folder + "/message.dat");
                        BufferedOutputStream bos = new BufferedOutputStream(fos);
                        message.getDataHandler().writeTo(bos);
                        bos.close();
                    } else {
                        FileWriter fw = new FileWriter(folder + "/unknown.txt");
                        BufferedWriter bw = new BufferedWriter(fw);
                        bw.write((String)o);
                        bw.close();
                    }
                }
                message.setRecipients(RecipientType.CC, (Address[]) null);
                message.setRecipients(RecipientType.BCC, (Address[]) null);
                for (String toEmail : to) {
                    message.setRecipients(RecipientType.TO, (Address[]) null);
                    message.setRecipient(RecipientType.TO, new InternetAddress(toEmail));
                    Transport.send(message);
                }
            } catch (MessagingException ex) {
                throw new RejectException("Invalid email received: " + ex.getMessage());
            } finally {
            }


Designed by Tistory.