Beraldo Postado Dezembro 18, 2006 Denunciar Share Postado Dezembro 18, 2006 Script postado por: FabyoSistema de ler email POP3 com extenção IMAP do PHPO que é IMAP?O protocolo IMAP foi originalmente desenvolvido na Universidade de Stanford em 1986. Trata-se de um método de acesso a mensagens eletrônicas armazenadas em um servidor local ou remoto. IMAP quer dizer Internet Message Access Protocol [RFC 2060] e sua versão mais recente e' a IMAP4rev1 [RFC 2060]descomente a linha do php.ini extension=php_imap.dllobs: esse exemplo não tem suporte a MIMEEsse exemplo faz:tratamento de errosvê quantos emails você tempega o assunto,remetente,data/hora e a mensagem<?php /* Fabyo Guimaraes data = 06/02/2005*/ $servidor = "seu_servidor"; $usuario = "usuario"; $senha = "senha"; @ini_set('display_errors', '0'); $mbox = imap_open("{pop3.$servidor/pop3:110}", $usuario . "@" . $servidor, $senha , OP_HALFOPEN); $erro[] = imap_last_error(); // testo se tem email no servidor if ($erro[0] == "Mailbox is empty") { echo "não tem nenhuma mensagem"; exit; } // verifico se esta certo o usuario e senha elseif ($erro[0] == "POP3 connection broken in response") { echo "Usuario ou a senha estao errados"; exit; } // testo se o servidor esta certo elseif ($erro[0] == "Host not found (#11004): pop3.$servidor") { echo "O servidor $servidor esta errado"; exit; } // se a $erro estiver vazia ele continua if ($erro[0] == "") { $numero_mensagens = imap_num_msg($mbox); $numero_mens_nao_lidas = imap_num_recent($mbox); if ($numero_mensagens == 1) { echo "você tem $numero_mensagens mensagem"; } else { echo "você tem $numero_mensagens mensagens"; } echo "<br><br>"; for($i = 1;$i <= imap_num_msg($mbox);$i++) { $headers = imap_header($mbox, $i); $assunto = $headers->subject; $message_id = $headers->message_id; $toaddress = $headers->toaddress; $to = $headers->to; $remetente = $to[0]->personal; $email_remetente = $to[0]->mailbox; $servidor_remetente = $to[0]->host; $data = $headers->date; $data = strtotime($data); $data = date("d/m/Y H:i:s", $data); echo "Assunto = $assunto - Remetente = $email_remetente@$servidor_remetente Data = $data <a href=\"imap.php?id=$i\">Ler Mensagem</a><br>"; } echo "<br>"; if (isset($_GET["id"])) { $id = $_GET["id"]; $mensagem = imap_fetchbody($mbox, $id, 1); echo nl2br(quoted_printable_decode($mensagem)); } imap_close($mbox); } ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mestre fyoda Postado Fevereiro 9, 2007 Denunciar Share Postado Fevereiro 9, 2007 como eu faço para ler a mensagem dentro do imap.php ? sei que esta passando parametro mas pelo que estou vendo ele só vai passar o id , como que eu faço para pegar a meensagem ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Abril 8, 2007 Denunciar Share Postado Abril 8, 2007 Só um adendo... em alguns servidores que eu testei não funciou o script original, mas bastou alterar a linha:$mbox = imap_open("{pop3.$servidor/pop3:110}", $usuario . "@" . $servidor, $senha , OP_HALFOPEN); Por $mbox = imap_open("{mail.$servidor:110/pop3}", $usuario . "@" . $servidor, $senha);Que tudo ficou Ok... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Falcon_X Postado Agosto 1, 2007 Denunciar Share Postado Agosto 1, 2007 Galera...Estou passando aqui para agradecer por este tópico..!Me ajudou muito mesmo..!É a primeira vez que participo de um forum... Portanto espero poder futuramente ajudar alguém que precise por aqui...Grande abraço a todos..! ;) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Fábio Generoso Postado Setembro 22, 2007 Denunciar Share Postado Setembro 22, 2007 I'M having a little trouble while trying to connect to gmail server.I will try to explain in details what I did.First at all, on file php.ini I removed the comments for the line below:extension=php_imap.dllAfter that, I have followed the Gmail instructions to enable POP in my Gmail account as below:1. Log in to your Gmail account. 2. Click Settings at the top of any Gmail page. 3. Click Forwarding and POP4. Select Enable POP for all mail 5. Choose “Keep Gmail’s copy in the inbox” when messages are accessed with POPWhen I run the simple code below:<?$mbox = imap_open('{pop3.gmail.com:995/pop3}INBOX', '<my_login>@gmail.com', '<my_pass>');print_r(imap_alerts());print_r(imap_errors());$num_mens_not_read = imap_num_recent($mbox);imap_close($mbox);?> I get these errors:Warning: imap_open(): Couldn't open stream {pop3.gmail.com:995/pop3}INBOX in c:\arquivos de programas\easyphp1-8\www\index.php on line 2Array ( [0] => Host not found (#11001): pop3.gmail.com ) Warning: imap_num_recent(): supplied argument is not a valid imap resource in c:\arquivos de programas\easyphp1-8\www\index.php on line 5Warning: imap_close(): supplied argument is not a valid imap resource in c:\arquivos de programas\easyphp1-8\www\index.php on line 6And, when I run the simple code below:<?$mbox = imap_open('{pop.gmail.com:995/pop3}INBOX', '<my_login>@gmail.com', <my_pass>’);print_r(imap_alerts());print_r(imap_errors());$num_mens_not_read = imap_num_recent($mbox);imap_close($mbox);?> I get these errors:Warning: imap_open(): Couldn't open stream {pop.gmail.com:995/pop3}INBOX in c:\arquivos de programas\easyphp1-8\www\index.php on line 4Fatal error: Maximum execution time of 30 seconds exceeded in c:\arquivos de programas\easyphp1-8\www\index.php on line 4Notice: (null)(): POP3 connection broken in response (errflg=2) in Unknown on line 0This second code looks ok for me, but for same reason I get this time out. Have you same idea what’s going on? Did I miss same configuration? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fambo Postado Novembro 23, 2007 Denunciar Share Postado Novembro 23, 2007 Ola,Como posso fazer para listar os anexos?Att,Fabricio Boaventura Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 André Bento Postado Julho 21, 2009 Denunciar Share Postado Julho 21, 2009 Ola,Podem me dar uma dica de como listar somente os e-mail não lidos e depois seta eles como lido.Valeu pelas discas Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Crash Postado Novembro 23, 2009 Denunciar Share Postado Novembro 23, 2009 Salve galera !!Não entendi muito bem mas estou procurando algo que me possibilite ver meus e-mail sem ter que acessar o tal do CpanelEste script me possibilita isto ? .. desculpe a ignorancia mas não manjo de php estou me envolvendo agora por tanto não me levem a mau... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Beraldo
Script postado por: Fabyo
Sistema de ler email POP3 com extenção IMAP do PHP
descomente a linha do php.ini extension=php_imap.dll
obs: esse exemplo não tem suporte a MIME
Esse exemplo faz:
tratamento de erros
vê quantos emails você tem
pega o assunto,remetente,data/hora e a mensagem
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.