<?php /* Autor: Marcelo Palmerston Lemos (marceloplemos@gmail.com) Data.: 15/Novembro/2006 v. 1.0.0 Descr: Este script l� uma conta de e-mail e mostra os e-mails das mensagens recebidas. Ideal para captar todos os e-mails que voc� j� recebeu e gravar num banco de dados. Se puder, colabore com este script: - Resolvendo o problemas de conex�o com servidor do Gmail. - Criando um formul�rio de login para m�ltimos servidores. - Vamos gravar os dados em um Banco de Dados MySQL Importante: A fun��o imap_open() s� funciona se no arquivo PHP.ini estiver habilitado a extens�o: "extension=php_imap.dll" */ set_time_limit(60); // Define o tempo de execu��o, se a sua Caixa de Entrada tiver muitas mensagens // voc� ter� que aumentar este tempo // ******************** Configura��o para acessar o Gmail, mas n�o est� funcionando // $host ='pop.gmail.com:995/pop3/ssl/novalidate-cert' // $user = 'seuemail@gmail.com'; // $pass = 'senha_gmail' // ******************************************************************************** $host = 'seuservidor.com.br'; // Servidor POP $user = 'seuemail@seuservidor.com.br'; // Usu�rio ou email $pass = 'suasenha'; // Senha $mbox = imap_open("{".$host."}INBOX", "".$user."", "".$pass.""); // Fun��o que estabelece conex�o com o servidor $check = imap_check($mbox); // L� a Caixa de Entrada do e-mail $count = $check->Nmsgs; // Mostra a quantidade de mensagens na Caixa de Entrada echo 'Total de mensagens: ' . $count . '<br>'; if ($count > 0) { for( $index=$count; $index > 0 ; $index-- ) { echo $index . ')'; $header = imap_headerinfo($mbox, $index); // L� a mensagem $size = number_format( $header->Size, 0, ',', '.'); echo $header->Recent; // Mostra o status: Recente e n�o lido N echo $header->Unseen; // Mostra o status: Recente e lido U echo $header->Answered; echo $header->Deleted; echo $header->Draft; echo $header->Flagged; $x = $header->from; // Dados de quem enviou o e-mail if (!empty($x)) { foreach ($x as $id => $object) { $xname = $object->personal; $xaddress = $object->mailbox . "@" . $object->host; echo '<b>' . $xaddress . '</b><br>'; } } $x = $header->cc; // Dados do campo Cc if (!empty($x)) { foreach ($x as $id => $object) { $xname = $object->personal; $xaddress = $object->mailbox . "@" . $object->host; echo ' Cc---> ' . $xaddress . ' ' . $xname . '<br>'; } } $x = $header->bcc; // Dados do campo Cc0 if (!empty($x)) { foreach ($x as $id => $object) { $xname = $object->personal; $xaddress = $object->mailbox . "@" . $object->host; echo ' Cco--> ' . $xaddress . ' ' . $xname . '<br>'; } } // Mostra outras Informa��es (desativado) // echo 'assunto: ' . $header->Subject . '<br>'; // $msg = imap_body($mbox,$index); // echo str_replace("\n", '<br>', $msg); } } else { echo "Sem mensagens nesta caixa de e-mail"; } imap_close($mbox); ?>