2014-07-02 15 views
10

Używam Apache na Ubuntu 14.02 i uruchamianie php na tym samym. Połączyłem się ze zdalnym serwerem mssql, więc nie potrzebuję mysql.Dostęp do wiadomości e-mail przy użyciu imap

Chcę wiedzieć, jak połączyć się z identyfikatorem e-mail zarejestrowanym w Gmailu, aby czytać przychodzące wiadomości e-mail.

Próbowałem poniżej, ale to pokazuje pusty ekran podczas uruchamiania go z moim localhost:

<?php 

error_reporting('E_ALL'); 
$mailboxPath = "{imap.gmail.com:993/imap/ssl}INBOX"; 
$username = "[email protected]"; 
$password = "mypassword"; 
$imap = imap_open($mailboxPath, $username, $password); 
print_r($imap); 

?> 

ja wkładając moją rzeczywistą nazwę użytkownika Gmail i hasło podczas uruchamiania programu. Chcę wiedzieć, czy czegoś brakuje.

Wiele Dzięki

+0

Co znajduje się wyjście 'imap_last_error()'? –

+0

1) Czy nazwa użytkownika i hasło są prawidłowe? 2) zmień wiersz '$ imap = imap_open ($ mailboxPath, $ username, $ password);' na '$ imap = imap_open ($ mailboxPath, $ username, $ password) lub umrzyj ('Nie mogę połączyć się z Gmailem:'. Imap_last_error ()); '. Teraz zostaniesz zauważony, dlaczego nie możesz połączyć się z Gmailem. – pes502

+0

Witam, dziękuję za odpowiedź, poniżej jest mój błąd: Nie można połączyć się z Gmailem: Nie można uwierzytelnić na serwerze IMAP: [ALERT] Zaloguj się za pomocą przeglądarki: http://support.google.com/ mail/accounts – user3790233

Odpowiedz

0

byłaś aktywna rozszerzenie imap.so w pliku php.ini? extension=imap.so to basical przyczyną problemów na serwerze localhost

+0

Tak, dodałem go. Nie działa. – user3790233

+0

, więc możesz nie mieć włączonej usługi openSSL na swoim hoście lokalnym – DanIdle

+0

, jeśli nie jest to problem z programem ssl, zaloguj się do konta Gmail z linkiem, który masz w komunikacie o błędzie, sprawdź, czy masz wiadomość o podejrzanym połączeniu i sprawdź nowego klienta, wprowadzając login i hasło. – DanIdle

0

Spróbuj tego (trzeba włączyć wychodzącej przekaźnika):

  1. Log into your account at google.com/a/yourdomain.com
  2. Click the Settings tab and then select Email in the left column.
  3. In the Outbound relay section, select Allow users to send mail through an external SMTP when configuring a "from" address hosted outside your domain.
  4. Click Save changes.
+0

Nie jestem pewien, co masz na myśli przez google.com/a/twoja_domena.com. Chcę uzyskać dostęp do spersonalizowanej skrzynki odbiorczej Gmaila. Nie widzę żadnych ustawień ani żadnej karty związanej z przekaźnikiem wychodzącym. Dziękuję. – user3790233

31

Oto rozwiązanie:

  1. Zaloguj się do Gmaila konto, włącz imap.

  2. Niech dostęp tutaj pierwszy: https://www.google.com/settings/security/lesssecureapps

  3. Przejdź do: https://accounts.google.com/b/0/DisplayUnlockCaptcha i umożliwić dostęp.

To wszystko.

Miałem dokładnie ten sam problem, gdy próbuję uzyskać e-maile z IMAP na php. Uruchomiłem dokładnie ten sam skrypt, o którym wiem, że działa z innymi moimi Gmailami.

Rozwiązaniem jest powyżej, a komunikat o błędzie:

ERROR: Can not authenticate to IMAP server: [ALERT] Please log in via your web browser

+0

Domyślne ustawienia IMAP są w porządku po włączeniu protokołu IMAP w ustawieniach konta. Jeśli masz problemy z przenoszeniem wiadomości, upewnij się, że w ustawieniach języka Twojego profilu wybrano Angielski - Stany Zjednoczone. – Tarik

+2

Ta odpowiedź powinna być oznaczona jako zaakceptowana –

+0

Perfect..pracowana gładko ... –

Powiązane problemy