Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przeszukiwanie skrzynki pocztowej
DNMX
post
Post #1





Grupa: Zarejestrowani
Postów: 130
Pomógł: 0
Dołączył: 18.09.2021

Ostrzeżenie: (0%)
-----


Hej
Napisałem prosty skrypcik w PHP który korzysta z biblikiteki php-imap i ma za zadanie znaleść w mojej skrzynce wszystkie maile powiedzmy od Allegro. Użyłem takiego kodu:
  1. <?php
  2. $mbox = imap_open("{imap.poczta.onet.pl:993/imap/ssl}", "mojlogin@onet.pl", "haslo");
  3. c1 = imap_search($mbox, 'SINCE "8 August 2022"', SE_UID);
  4. var_dump($c1);
  5. ?>

Tu jest ok, zwraca mi ładnie tablicę z id wiadomości otrzymanych po 8 sierpnia. Jednak gdy zrobię tak:
  1. <?php
  2. $mbox = imap_open("{imap.poczta.onet.pl:993/imap/ssl}", "mojlogin@onet.pl", "haslo");
  3. $c2 = imap_search($mbox, 'BODY "allegro"', SE_UID, "UTF-8");
  4. var_dump($c2);
  5. ?>

dostaję:
Cytat
bool(false)

Dlaczego? Co robię nie tak?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
DNMX
post
Post #2





Grupa: Zarejestrowani
Postów: 130
Pomógł: 0
Dołączył: 18.09.2021

Ostrzeżenie: (0%)
-----


Pogadałem sobie z Onetem przez telnet i w taki sposób też nie udało mi się przeszukać skrzynki. Postanowiłem podejśc do zagadnienia inaczej. Szukam na moim koncie dwóch interesujacych mnie skrzynek pocztowych - Społeczności i odebrane (INBOX). Pobieram 50 najnoszywch wiadomosci i sprawdzam, czy wśród nich jest coś od Allegro. Stworzyłem taki kod:
  1. $provider['mailboxes'] = array('Społeczności', 'INBOX');
  2. $any_valid_mailbox = false;
  3. $mailboxes = $connection->getMailboxes();
  4. //debug("Znalezione mailboxy:\n");
  5. //var_dump($mailboxes);
  6. foreach($mailboxes as $found_mailbox) {
  7. foreach($provider['mailboxes'] as $valid_mailbox) {
  8. debug("Czy jest tu ".$valid_mailbox);
  9. if($found_mailbox->getName() == $valid_mailbox) {
  10. $any_valid_mailbox = true;
  11. // Sprawdź ile w tym mailboxie wiadomosci, przeszukaj nie więcej niż MAX_MESSAGES najświeższych
  12. $messages = $found_mailbox->getMessages($search);
  13. $msg_count = $messages->count();
  14. var_dump($messages);
  15. debug("Jest $valid_mailbox z $msg_count wiadomościami !!!");
  16. }
  17. }
  18. }

W odpowiedzi dostaję coś takiego:
https://pastebin.com/raw/UNzgVq6k

Tylko nie mam pojecia jak się proszuać po takim objekcie żeby wydobyć wszystkie ID wiadomości, posortować je od najwyższego i wydobyć 50 największych (konkretnie chodzi mi o numerki 1187, 1186 .. 1040 dla INBOX i analogicznie 587 ... 533 dla Społeczności. Próbowałem foreacha na $messages ale nie działa
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 20:38