2010-08-03 2 views

ответ

1

IMAP Solution

/* connect to gmail */ 
$hostname = '{imap.gmail.com:993/imap/ssl}INBOX'; 
$username = '[email protected]'; 
$password = 'davidwalsh'; 

/* try to connect */ 
$inbox = imap_open($hostname,$username,$password) or die('Cannot connect to Gmail: ' . imap_last_error()); 

/* grab emails */ 
$emails = imap_search($inbox,'ALL'); 

/* if emails are returned, cycle through each... */ 
if($emails) { 

    /* begin output var */ 
    $output = ''; 

    /* put the newest emails on top */ 
    rsort($emails); 

    /* for every email... */ 
    foreach($emails as $email_number) { 

     /* get information specific to this email */ 
     $overview = imap_fetch_overview($inbox,$email_number,0); 
     $message = imap_fetchbody($inbox,$email_number,2); 

     /* output the email header information */ 
     $output.= '<div class="toggler '.($overview[0]->seen ? 'read' : 'unread').'">'; 
     $output.= '<span class="subject">'.$overview[0]->subject.'</span> '; 
     $output.= '<span class="from">'.$overview[0]->from.'</span>'; 
     $output.= '<span class="date">on '.$overview[0]->date.'</span>'; 
     $output.= '</div>'; 

     /* output the email body */ 
     $output.= '<div class="body">'.$message.'</div>'; 
    } 

    echo $output; 
} 

/* close the connection */ 
imap_close($inbox); 

Вы должны добавить к нему контроль вложений, и вы можете прочитайте это, потому что из этого источника этот код http://davidwalsh.name/gmail-php-imap

+1

-1. Это срыгиваемый код и не затрагивает оригинальный вопрос о вложениях («как загружать вложения из учетной записи gmail с помощью php?»). Вы говорите: «добавьте управление прикреплением», но ... как? – Ben

+0

@Steve: с этого момента вы можете просто использовать php-документацию с несколькими строками кода, загрузите то, что хотите от вложений, если вы не верите, тогда увидите зеленую метку – Svisstack

+0

Прошу прощения, Свисстак, я должен согласиться с @Ben: код не загружает вложение. Предлагаемая ссылка не предлагает никакого кода о загрузке вложения. –

3

вы можете использовать PHP поп или IMAP-клиента и получать почту и извлекать вложения из этого

+3

imap - лучшая идея, чем поп, а gmail - это – Svisstack

3

Как заявили другие ответчики, рекомендуется решение IMAP и может быть найдено по адресу http://davidwalsh.name/gmail-php-imap. Обязательно проверьте свой брандмауэр и включите OpenSSL и IMAP в вашей установке PHP.

http://www.electrictoolbox.com/extract-attachments-email-php-imap/ имеет отличные ссылки на коды относительно того, как анализировать структуру каждого электронного письма, используя imap_fetchstructure. В структуре каждого сообщения лежат вложения. Замечания пользователя, внесенные в http://www.php.net/manual/en/function.imap-fetchstructure.php, особенно полезны (как и документация).

В принципе, вы должны

  • петли через структуру части
  • определить, какие из них являются вложением
  • декодирования в зависимости от обстоятельств.

Различные почтовые клиенты будут иметь несколько разные структуры, но это не слишком сложно с небольшим усилием. Затем данные можно обрабатывать, но вы выбираете.

Смежные вопросы