![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 0 Dołączył: 9.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Chciałem wyciągnąć i zapisać do bazy adresy e-mail znajdujące się w body przychodzących wiadomości.
W ten sposób
Łączy się ze skrzynką, zlicza maile ale nie wiem jak rozwiązać problem tablic w pętli. W body każdej wiadomości może być kilka adresów e-mail. print_r($value); daje: <pre>Array ( ) </pre><pre>Array ( ) </pre><pre>Array ....... Z góry dziękuję za pomoc |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 143 Pomógł: 0 Dołączył: 9.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Czekaj... jak masz tablicę stringów, to wewnątrz pętli foreach jest dostęp do każdego stringa jako stringa. Może powinieneś robić zapytanie w środku pętli, a nie czekając na jej koniec. No jasne, wyniki print_r mnie zmyliły. Poniżej zamieszczam działający skrypt, który wyciąga adresy e-mail z Undelivery i oznacza te adresy w bazie danych jako złe. Adresy e-mail, które zostały po naszej wysyłce odrzucone - Undelivery są ukryte w body wiadomości. Jest tam na raz kilka postaci adresów, w tym nasz. Przykład: [0] => bok@anonse.eu [1] => jan.piotrow.zurm@wp.pl [2] => rfc822;jan.piotrow.zurm@wp.pl [3] => "jan.piotrow.zurm@wp.pl": Z przejrzenia iluś tam setek wyników wychodzi, że adres o który nam chodzi można identyfikować po "rfc822;" i tak też filtruje ten skrypt. Być może na innym serwerze jest inaczej, stąd zostawione print_r i echo do testów. Powyższy "czysty" przykład jest z parsowania body z parametrem "2", dla "1.2" było dużo gorzej. Wskazany jest podfolder Drafts, bo tam zostały zrzucone do testów wiadomości Undelivery. Dzięki za pomoc wszystkim z tego tematu
Ten post edytował maraska 14.12.2017, 13:05:32 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 14:06 |