Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: imap_open nie otwiera połączenia
Forum PHP.pl > Forum > PHP
noo-noo
Witam. Dzisiaj postanowiłem sprawdzić jak działa IMAP w PHP i na samym początku mam problemy. Poniższy kod nie działa (przykład ze strony php.net):

  1. $mbox = imap_open("{imap.gmail.com:993/imap/ssl/novalidate-cert}", "moj.adres@gmail.com", "moje_haselko");
  2. //tutaj już jest wykrzaczony :)
  3. echo imap_last_error();
  4.  
  5. echo "<h1>Mailboxes</h1>\n";
  6. $folders = imap_listmailbox($mbox, "{imap.gmail.com:993/imap/ssl/novalidate-cert}", "*");
  7.  
  8. if ($folders == false) {
  9. echo "Call failed<br />\n";
  10. } else {
  11. foreach ($folders as $val) {
  12. echo $val . "<br />\n";
  13. }
  14. }


funkcja imap_last_error() nic nie wypisuje.
Co robię źle?

EDIT:
Wrzuciłem na inny serwer i mam następujące błędy:

  1. Warning: imap_open() [function.imap-open]: Couldn't open stream {imap.gmail.com:993/imap/ssl/novalidate-cert} in /home/user/domains/domena/public_html/plik.php on line 65
  2. Can't open mailbox {imap.gmail.com:993/imap/ssl/novalidate-cert}: invalid remote specification


  1. Warning: imap_listmailbox(): supplied argument is not a valid imap resource in /home/user/domains/domena/public_html/plik.php on line 69
  2. Call failed
  3.  
  4. Warning: imap_close(): supplied argument is not a valid imap resource in /home/user/domains/domena/public_html/plik.php on line 92




pedro84
Poczytaj w manualu imap-open, w komentarzach jest rozwiązanie.
noo-noo
Zmieniłem na:

  1. $mbox = imap_open("{imap.gmail.com:143/notls}", "moj.login@gmail.com", "haslo") or die("Blad:" . imap_last_error());
  2.  
  3.  
  4. echo "<h1>Mailboxes</h1>\n"; // to nie jest wywietlane w przeglądarce
  5.  
  6. $list = imap_list($mbox, "{imap.gmail.com:143/notls}", "*");
  7. if (is_array($list)) {
  8. foreach ($list as $val) {
  9. echo imap_utf7_decode($val) . "\n";
  10. }
  11. } else {
  12. echo "imap_list failed: " . imap_last_error() . "\n";
  13. }


Na jednym serwerze mam komunikat:

Fatal error: Call to undefined function imap_open() in/home/user/domains/domena/public_html/plik.php on line 68

a 2-gi mieli coś kilkanaście sekund i nic nie wyrzuca, żadnego ostrzeżenia ani błędu.
pedro84
Założę się, że nie masz pliku php_imap.dll załadowanego. Masz?
noo-noo
W php.ini usunąłem średnik z linii ;extension=php_imap.dll
Zrestartowałem apache i nadal mam:

  1. Fatal error: Call to undefined function imap_open() in /home/user/domains/domena/public_html/plik.php on line 68

Po wywołaniu phpinfo() nie znajduję nic związanego z imap.

Na 2-gim serwerze po wywołaniu phpinfo() mam taką linijkę:

  1. -with-imap=/usr/local/imap-2004c1'
pedro84
Czytaj tutaj

Jest kilka możliwości.
noo-noo
Po konsultacji z administratorem serwera wszystko śmiga w 100%.
Dziękuję wszystkim za pomoc.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.