Verificando contas de e-mail POP3 com PHP

Escrevi uma funçãozinha que verifica a existência de emails (e informações adicionais como: assunto, remetente e data) de contas POP3, em PHP. O código está abaixo.

Na próxima semana, postarei uma revisão desse código. A próxima versão implementará uso de CSS e Javascript, para uma interface mais interativa.

/* 
Leonardo Faria Coelho (http://www.leonardofaria.net) em 16/03/2006 
Baseado no código de Thiago Zilli Sarmento ([email protected]) em 01/09/2003
Esse script verifica a existência de e-mails em contas POP3
*/ 

function checa($server,$user,$pass,$port,$name) {
	$conn = @imap_open("{$server:$port/pop3}INBOX",$user,$pass) or die("Falha na conexão!"); // Conexão com o server
	$headers = @imap_headers($conn) or die("Não existe e-mails!"); // Chamando o Headers

	$numEmails = sizeof($headers); // Verifica quantidade de e-mails em sua caixa postal
	echo "Você tem <b>$numEmails</b> mensagens em sua caixa de correio.<br / />"; // Mostra conteúdo 

	for ($i=1; $i< $numEmails+1; $i++){ // Loop para gerar informações das mensagens
		$mailHeader = @imap_headerinfo($conn, $i); 
		$from = $mailHeader->fromaddress; 
		$subject = strip_tags($mailHeader->subject); 
		$date = $mailHeader->date; 

		echo "E-mail de: $from // Subject: $subject - ($date)<br />"; 
	} 
	imap_close($conn);  // Termina conexão com o servidor
}

checa("pop3.bol.com.br","usuário","senha","porta (geralmente 110)","Nome da caixa"); 
 

Leonardo

Registros de Leonardo Faria sobre desenvolvimento web

 
  • Thiago Zilli Sarmento

    Olá…

    Vejo que meu script serviu para alguma coisa!

    Grande abraço

  • Cláudio Medeiros

    Bom, não sei porque, mas a linha 9 dá erro nos dois pontos (:). Eu substitui para algo assim:
    “{“.$server.”:”.$port.”/pop3}INBOX”
    E resolveu.
    E massa essa sua função. Testei várias classes “Gigantescas” e a sua botou todas no chinelo.
    Valeu.

  • herllen

    OLÁ!!
    MUITO BOA SUA FUNÇÃO… NO COMEÇO DEU UM ERRO MAS LENDO O COMENTÁRIO DO COLEGA ACIMA CONSEGUI RESOLVÊ-LO, PORÉM NO MEU PC NÃO APARECEU NADA, NENHUMA MENSAGEM, NÃO SEI AONDE ERREI CREIO Q FOI NA CONFIGURAÇÃO DE MEU E-MAIL. SE PUDER ME AJUDAR, AGRADEÇO:

    CONFIGURAÇÕES:

    checa(“http://pop3.bol.com.br”,”herllen”,”minha_senha”,”110″,”Entrada”);

    tem alguma coisa errada nisso?
    gostaria de saber como usar cada um dos itens abaixo:

    checa(“pop3.bol.com.br”,”usuário”,”senha”,”porta (geralmente 110)”,”Nome da caixa”);

  • boa tarde a todos, estou criando um projeto onde gostaria de oferecer contas de emails aos cadastrados, procurei e muito scripts e tutoriais que me auxiliem, mas não existe muita coisa alem de script que cria pelo cpanel, mas, não consegui de forma alguma fazer este funcionar,

    eu utilizo a ultima vesão do cpanel no meu host linux, ele gera uma cpacess00000000 toda vez que logo, e acho que seria isso que impede a criação dos usuários.
    alguem sabe uma forma de conseguir criar contas de email junto com o cadastro de um usuário?

  • jefferson

    tem como a função ler o e-mail e depois que leu mover a msg para uma pasta tipo lida, nao deixar na caixa de entrada?