Próbuję uzyskać wszystkie e-maile wysłane z konkretnego e-maila, które zostały wysłane w tym miesiącu lub w zeszłym miesiącu. Używam następującego kodu:

(uwaga: działa imap_open, umieściłem 3 kropki, ponieważ nie mogę pokazać szczegółów połączenia)

$imapStream = imap_open(...);

if (!$imapStream || !empty(imap_errors())) {
    return;
}

$emailIds = imap_search($imapStream, 'FROM ' . $email . ' SINCE ' .  date ( "d M Y", strToTime ( "-1 month" ) ));

Gdzie $email jest parametrem POST. Jednak kiedy to uruchamiam, nie daje mi wszystkich e-maili. Patrząc na imap_errors(), pojawia się następujący błąd:

Unknown search criterion: SINCE
1
Joshua Bakker 6 listopad 2018, 17:08

1 odpowiedź

Najlepsza odpowiedź

Znaleziono błąd. imap jakoś nie podaje mi właściwych błędów.

Próbowałem tej linii:

$emailIds = imap_search($imapStream, 'FROM "' . $email . '" SINCE 22-Jul-2012');

To zadziałało. Tak więc kryterium SINCE nie było nieznane, ciąg daty nie był prawidłowy.

2
Joshua Bakker 6 listopad 2018, 17:51