Javamail Fetch Emails от определенного месяца - PullRequest
0 голосов
/ 05 ноября 2018

Я пытаюсь и успешно получаю электронную почту через IMAP с сервера Exchange. Моя цель - копировать (ДУБЛИРОВАТЬ) электронные письма из «INBOX» в определенную папку по дате. Например. Дублируйте все ЯНВАРНЫЕ ПОЧТЫ из папки «Входящие» в папку «ЯНВАРЬ». и т.д.

Я сделал это, и это работает! Тем не менее, он не находит все электронные письма за январь. Я видел много электронных писем, которые не были скопированы в папку назначения.

У вас, ребята, есть лучшее решение, чем это?

   `Calendar cal1 = null;
    cal2.set(2017, 12, 31);
    Calendar cal2 = null;
    cal1 = Calendar.getInstance();
    cal2 = Calendar.getInstance();
    cal1.set(2017, 12, 01); // a MONTH BEFORE!!

    SimpleDateFormat df1 = new SimpleDateFormat("dd/MM/yyyy");
    Date d1 = null;
    Date d2 = null;
    try {
    d1 = df1.parse("01/01/2018");
    d2 = df1.parse("31/01/2018");
    } catch (ParseException e1) {


                      e1.printStackTrace();

                }


                if (init())

                      ;

                {

    try {
    String credentials = String.format(CREDENTIALS_FORMAT, domain, username1);
    store = session.getStore(MAIL_PROTOCOL);
    for (int i = 0; i < mailboxes.size(); i++) {
    store.connect(host, credentials + mailboxes.get(i), password);
     folderSource = store.getFolder(SourcefolderName);
    folderDest = store.getFolder(DestfolderName);
    folderSource.open(Folder.READ_ONLY);
     if (!folderDest.exists()) {
    folderDest.create(Folder.READ_WRITE);
    }
      Date datecal1 = new Date(cal1.getTimeInMillis());
     Date datecal2 = new Dat`enter code here`e(cal2.getTimeInMillis());
    ReceivedDateTerm dateTermCal1 = new ReceivedDateTerm(ComparisonTerm.GE, d1);
     ReceivedDateTerm dateTermCal2 = new ReceivedDateTerm(ComparisonTerm.LE, d2);       SearchTerm andTerm = new AndTerm(dateTermCal2, dateTermCal1);
     Message messages[] = folderSource.search(andTerm);
    folderSource.copyMessages(messages, folderDest);'
...