Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Powiadomienia o email na telefon., Dla użytku własnego.
Giluś
post
Post #1





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

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


Cześć, chciałbym zrobić skrypt PHP który sprawdzi zaloguje się na pocztę w serwisie o2.pl (nie reklama), następnie gdy zobaczy, że jest nowa wiadomość to wyślę wiadomość SMS (telefon w plusie wiec będzie to z bramki sms plusa, lub w plusie można wysłać email na telefon jako sms), w treści były temat wiadomości, ewentualnie 10-50 pierwszych znaków wiadomości i od kogo wiadomość.

Jest to mi potrzebne gdyż, nie chce ciągle wchodzić na pocztę e-mail, logować się itp, a tak to bym miał automat (IMG:style_emoticons/default/smile.gif) )

Chciałbym się dowiedzieć jak się zalogować na pocztę (curl), a następnie jak sprawdzić czy jest nowa wiadomość (tego nie wiem), później to już wiem, wysyłanie wiadomości na telefon to jest chwilka kodu, treść wiadomości też już będzie wiadomo ( jak się zaloguje i sprawdzi nowe wiadomości to się zmienne pobierze )

Podsumowując, jak się zalogować i jak sprawdzić czy jest nowa wiadomość (IMG:style_emoticons/default/questionmark.gif)


Z góry dziękuje za każdą odpowiedz i pozdrawiam (IMG:style_emoticons/default/smile.gif) )
Go to the top of the page
+Quote Post
cycofiasz
post
Post #2





Grupa: Zarejestrowani
Postów: 711
Pomógł: 127
Dołączył: 5.07.2008
Skąd: Łódź

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


Użyj protokołu POP3 bo do tego on jest. Są gotowe klasy php do obsługi pop3 więc raczej problemu nie powinno to sprawiać.
Go to the top of the page
+Quote Post
Fifi209
post
Post #3





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(Giluś @ 14.07.2011, 11:19:11 ) *
Podsumowując, jak się zalogować i jak sprawdzić czy jest nowa wiadomość (IMG:style_emoticons/default/questionmark.gif)

Zalogujesz się poprzez CURL, zaopatrz się w FF z dodatkiem Live HTTP Headers, abyś wiedział jakie dane zostają przesłane w formularzu i ew. jakie nagłówki lecą do serwera. Przerób to wszystko pod curl i jesteś zalogowany.

Jak sprawdzić czy jest nowa wiadomość - zwykle jest ona pogrubiona czy to tytuł czy cały wiersz, sugerowałbym się właśnie tym.
Go to the top of the page
+Quote Post
karolrynio
post
Post #4





Grupa: Zarejestrowani
Postów: 144
Pomógł: 25
Dołączył: 2.02.2009

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


Ale mimo wszystko łatwiej będzie użyć:

http://php.net/manual/en/book.imap.php

Tam będziesz miał wszystkie informacje o mailach.
Go to the top of the page
+Quote Post
Fifi209
post
Post #5





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(karolrynio @ 15.07.2011, 11:46:44 ) *
Ale mimo wszystko łatwiej będzie użyć:

Owszem o ile poczta udostępnia IMAP jak np. GMAIL, bo z tego co wiem nie wszystkie udostępniają.
Go to the top of the page
+Quote Post
karolrynio
post
Post #6





Grupa: Zarejestrowani
Postów: 144
Pomógł: 25
Dołączył: 2.02.2009

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


Cytat(Fifi209 @ 15.07.2011, 12:03:29 ) *
Owszem o ile poczta udostępnia IMAP jak np. GMAIL, bo z tego co wiem nie wszystkie udostępniają.


http://www.php.net/manual/en/function.imap-open.php

Cytat
This function can also be used to open streams to POP3 and NNTP servers, but some functions and features are only available on IMAP servers.

Go to the top of the page
+Quote Post
Fifi209
post
Post #7





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


No i masz wyraźnie napisane w tym co zacytowałeś, że niektóre funkcje potrzebują IMAP. (IMG:style_emoticons/default/smile.gif) I to miałem na myśli, może zbyt skrótowo napisałem.
Go to the top of the page
+Quote Post
karolrynio
post
Post #8





Grupa: Zarejestrowani
Postów: 144
Pomógł: 25
Dołączył: 2.02.2009

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


Z tego co napisałeś moim zdaniem wynikało, że tylko jeśli masz imap możesz skorzystać z tych funkcji.
W każdym razie rozwiązanie wydaje się prostsze niż zabawa z CURL, pobieraniem informacji ze strony itp.
Bo wystarczy zalogować się, pobrać listę wiadomości i zrobić z nią co chcemy.
Go to the top of the page
+Quote Post
Giluś
post
Post #9





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

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


Użyłem iMap i mam problem...
Loguje się na pocztę wszystko ładnie super, pokazuje wiadomości itp, ale gdy chce sprawdzić czy jest nowa wiadomość to zawsze wyświetla ze jest nowa wiadomość... nawet gdy jej nie ma.. taki kod mam:

  1. <?php
  2. if($poczta = imap_open("{poczta.o2.pl:110/pop3}INBOX", 'mój_login', 'moje_haslo'))
  3. {
  4. echo "<span style='color:green'>Polaczenie nawiazane!<br /></span>";
  5. if(imap_num_recent($poczta) > 0)
  6. {
  7. echo "<span style='color:green'>Nowe wiadomosci!<br /></span>";
  8. }
  9. else
  10. {
  11. echo "<span style='color:red'>Brak nowych wiadomosci!<br /></span>";
  12. }
  13. }
  14. else
  15. {
  16. echo "<span style='color:red'>Nie mozna polaczyc!<br /></span>";
  17. }
  18. ?>

próbowałem też tak:

  1. <?php
  2. if($poczta = imap_open("{poczta.o2.pl:110/pop3}INBOX", 'mój_login', 'moje_haslo'))
  3. {
  4. echo "<span style='color:green'>Polaczenie nawiazane!<br /></span>";
  5. $check=imap_mailboxmsginfo($poczta);
  6. if($check->Recent > 0)
  7. {
  8. echo "<span style='color:green'>Nowe wiadomosci!<br /></span>";
  9. }
  10. else
  11. {
  12. echo "<span style='color:red'>Brak nowych wiadomosci!<br /></span>";
  13. }
  14. // imap_close($poczta);
  15. }
  16. else
  17. {
  18. echo "<span style='color:red'>Nie mozna polaczyc!<br /></span>";
  19. }
  20. ?>
  21.  



Może ktoś wie czemu tak ?(IMG:style_emoticons/default/wink.gif)


Edit.: Już wiem, Recent pokazuje ile jest wszystkich wiadomości, a nie tylko tych nie przeczytanych, wiec to tak nie wyjdzie

Ten post edytował Giluś 18.07.2011, 09:18:23
Go to the top of the page
+Quote Post
cycofiasz
post
Post #10





Grupa: Zarejestrowani
Postów: 711
Pomógł: 127
Dołączył: 5.07.2008
Skąd: Łódź

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


Według moich informacji, łącząc się przez protokół POP3 nie ma możliwości otrzymania informacji o ilości nowych wiadomości. Jedynie IMAP umożliwia takie coś.
Należałoby więc albo usuwać wszystkie wiadomości przy każdym sprawdzeniu (można je wcześniej zapisać gdzieś na serwerze lub wysłać na inny email) lub stworzyć na serwerze bazę ID emaili i porównywać ją z ID maili na skrzynce.
Go to the top of the page
+Quote Post
Giluś
post
Post #11





Grupa: Zarejestrowani
Postów: 377
Pomógł: 9
Dołączył: 2.11.2010

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


Czyli mówisz, że trzeba by było zrobić coś takiego:
CRON np.: co 15minut i żeby sprawdzał w bazie mysql jaki jest ID ostatniej wiadomości jeśli jest taki sam to nic nie robi, jeśli większy to zmienia w mysql na ten większy, a później wysyła sms tak ?

A przez protokół IMAP ?
Go to the top of the page
+Quote Post

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: 24.12.2025 - 00:27