Beraldo Posted December 18, 2006 Report Share Posted December 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 protected]$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); } ?> Quote Link to comment Share on other sites More sharing options...
0 mestre fyoda Posted February 9, 2007 Report Share Posted February 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 ? Quote Link to comment Share on other sites More sharing options...
0 ESerra Posted April 8, 2007 Report Share Posted April 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... Quote Link to comment Share on other sites More sharing options...
0 Guest Falcon_X Posted August 1, 2007 Report Share Posted August 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..! ;) Quote Link to comment Share on other sites More sharing options...
0 Guest Fábio Generoso Posted September 22, 2007 Report Share Posted September 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? Quote Link to comment Share on other sites More sharing options...
0 fambo Posted November 23, 2007 Report Share Posted November 23, 2007 Ola,Como posso fazer para listar os anexos?Att,Fabricio Boaventura Quote Link to comment Share on other sites More sharing options...
0 André Bento Posted July 21, 2009 Report Share Posted July 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 Quote Link to comment Share on other sites More sharing options...
0 Crash Posted November 23, 2009 Report Share Posted November 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... Quote Link to comment Share on other sites More sharing options...
Question
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 to comment
Share on other sites
7 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.