Próbuję napisać od podstaw prostą, opartą na sieci Web aplikację pocztową z biblioteką standardową PHP. Będę szczery; Nie jestem do końca pewien, co robię, więc to jest coś, co zhakowałem razem, aby nauczyć się prób i błędów. Jednak nie mam co liczyć, niezależnie od tego, co próbuję. Jakakolwiek rada? Wiem, że zamierzony wynik nie będzie ładnie wyglądał, ale tak jak powiedziałem, jest to tylko próba i błąd.Jak pobrać e-mail z PHP
<?php
$stream = imap_open('{imap.gmail.com:993/imap/ssl}INBOX', '<email_removed>', '<password_removed>') or
die('Cannot connect to server: ' . imap_last_error());
$date = date('d M Y', strtotime('-1 month'));
if ($emails = imap_search($stream, "SINCE \"$date\"")) {
rsort($emails);
foreach ($emails as $email_number) {
echo imap_fetchbody($stream, $email_number, 2);
}
}
imap_close($stream);
?>
Wyjście otrzymam w następujący sposób.
ostrzegawczy: imap_open() [function.imap otwarty] Nie można otworzyć strumienia {imap.gmail.com:993/imap/ssl}INBOX się na linii 3 nie może połączyć się z serwerem Can” t połączyć gmail-imap.l.google.com, 993: Sieć jest nieosiągalny
Wskazówka: nieznane: nie można połączyć się z gmail-imap.l.google.com, 993: Connection timed out (errflg = 1) w nieznane na linii 0
Wskazówka: nieznane: nie można połączyć się z gmail-imap.l.google.com, 993: Connection timed out (errflg 1 =) I n nieznana linii 0
Wskazówki: nieznane: Nie można połączyć gmail-imap.l.google.com 993: Sieć jest nieosiągalny (errflg = 2) jest nieznany w linii 0
'Sieć jest nieosiągalna' ogólnie oznacza, że nie można uzyskać _nej_ sieci wychodzącej. –
Czy Twoja maszyna może kierować się na stronę "gmail-imap.l.google.com"? Czy twój serwer sieciowy jest ograniczony do narzędzia [obowiązkowej kontroli dostępu] (http://en.wikipedia.org/wiki/Mandatory_access_control), takiego jak [SELinux] (http://en.wikipedia.org/wiki/Security-Enhanced_Linux), [TOMOYO] (http://tomoyo.sourceforge.jp/index.html.en) lub [SMACK] (http://schaufler-ca.com/)? – sarnold
@sarnold, nie jestem pewien. Jak mogę to znaleźć? –