![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 0 Dołączył: 26.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam zrobic w bardzo krotkim czasie cos takiego: Napisz prosty skrypt PHP, który podłączy się do serwera POP3, sprawdzi ilość maili w skrzynce, a następnie wyświetli użytkownikowi listę maili w jego skrzynce - dla każdego maila zaprezentuje nagłówki: To, From, Subject i Date. Skrypt powinien na początku poprosić o podanie w formularzu parametrów serwera POP3 (host, port) i parametrów konta (login, hasło). Skrypt należy zaimplementować na niskopoziomowych funkcjach operujących na socketach TCP/IP - niedopuszczalne jest użycie wbudowanych w PHP funkcji obsługujących protokół POP. Skrypt powinien działać na PHP4.3. Parsowanie MIME w tekstach podanych nagłówków nie jest konieczne. Nie robilem tego nigdy, nie wiem od czego zaczac? Moze mnie ktos nakierowac na odpowiednia droge? |
|
|
![]() |
![]() ![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 569 Pomógł: 0 Dołączył: 17.08.2003 Skąd: Dąbrowa Górnicza Ostrzeżenie: (0%) ![]() ![]() |
najpierw zorientuj sie jak wyglada protokul imap albo pop3 niepamietam co to dokladnie bylo, a pozniej poprostu uzyj funkcji socket_connect itp
chociaz moim zdaniem to jest masohizm, zrozumiesz jak zaczniesz sie tym bawic. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 0 Dołączył: 26.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
wlasnie glownie sie rozchodzi o to, czy moge to zrobic przy pomocy np. IMAP'a, czy ta niskopoziomowosc jest jeszcze nizej?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 206 Pomógł: 18 Dołączył: 6.03.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
MUSISZ to zrobic za pomoca POP3 (nie IMAP'a, to rozne protokoly) bo jak inaczej chcesz wykonac zapytania do servera POP3 bez POP3? o.0 chodzi o to, ze masz ten protokol obsluzyc samodzilnie. czyli otwierasz socket (fsockopen() polecam bardziej niz socket_open() - nie kazdy ma rozszerzenie sockets zaisntalowane, a i obsluga zasobu jest latwiejsza jako zwykly strumien), wysylasz zapytania POP3 (fputs(), wzglednie socket_write() jesli juz uzywasz socket_open() ) i odczytujesz odpowiedzi (fgets(), badz analogicznie socket_read() ).
tutaj opis protokolu POP3: http://tools.ietf.org/html/rfc1939 weryfikacja uzytkownika POP3: http://tools.ietf.org/html/rfc1734 -edit- tutaj prosty przyklad implementacji tego protokolu (ja bym to zrobil troche inaczej, no ale nie o wykonanie teraz chodzi): http://www.weberdev.com/get_example-501.html co prawda pojawia sie w kodzie (zgin przepadnij) global, ale sam mechanism protokolu i operacji na socketach TCP/IP jest niezaklocony praktycznie niczym w tym przykladzie wiec wsztstko powinno byc jasne. Ten post edytował wrzasq 22.08.2007, 13:51:20 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 0 Dołączył: 26.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
doszedlem do takiego prostego kodu:
ale w poleceniu mam ze tylko, ze dla każdego maila zaprezentuje nagłówki: To, From, Subject i Date. a polecenie TOP wyswietla nam w calosci wszystkie naglowki. W samym POP3 nie mamy chyba mozliwosci rozdzielenia tego przez same komendy?? Dlatego sie zastanawiam, czy moze jakos inaczej do tego podejsc? |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 206 Pomógł: 18 Dołączył: 6.03.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
bo tak dziala protokol POP3, jak zreszta wszystkie inne. server przez POP3 wysyla ci CALA WIADOMOSC, to ty masz odczytac naglowki.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 0 Dołączył: 26.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
wlasnie siedze nad sposobem na rozbicie naglowkow i wyciagniecie tylko potrzebnych danych: To, From, Subject i Date.
Jak to najszybciej zrobic? |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 206 Pomógł: 18 Dołączył: 6.03.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
przetwarzaj wiadomosc linijka po linijce, az nie trafisz na pusta linie, ktora oznacza koniec naglowkow (mozesz tez na poczatku uzyc explode($dane, "\r\n\r\n", 2), wtedy $dane[1] to naglowki, $dane[2] to wiadomosc).
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 0 Dołączył: 26.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
na razie skrypt dziala, po wpisaniu parametrow polaczenia wysyla nam naglowki (ale niestety w CALOSCI), teraz tylko je rozbic tylko jak?
Ten post edytował basu 23.08.2007, 13:21:17 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 40 Pomógł: 1 Dołączył: 29.12.2003 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Na końcu/początku pliku dodaj funkcję*:
Następnie zmień pętlę na:
Jak odpalisz to z resztą już sobie poradzisz sam (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) . BTW: Przy wysyłaniu komend do serwera na końcu każdej komendy powinno być "\r\n" - aktualnie masz "r\n". BTW2: Możesz dodać po połączeniu: nie będzie tak mulić... Tyle ode mnie. *) wziete z pear'a (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 57 Pomógł: 0 Dołączył: 26.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
O to chodzilo (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) )))))THX :)Temat zamkniety.O to chodzilo (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) )))))THX :)Temat zamkniety.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 06:59 |