Neste artigo explicaremos como criar um leitor de e-mails acessando a caixa postal via POP3.
Isso pode ser feito de algumas formas, porém vamos usar a forma nativa que o PHP oferece através da função imap
Vamos a parte que mais interessa que é o código.
1- Acesso a Caixa Postal
<code>$mail_box = imap_open("{" . SERVIDOR . ":" . PORTA . "/pop3/novalidate-cert}INBOX", USUARIO, SENHA); </code>
2- Verifico quantas mensagens existem na caixa postal
<code>if ($mail_box) { $total_de_mensagens = imap_num_msg($mail_box); </code>
3- Pego o conteúdo de cada mensagem (headers e body).
No header vem um array que coloquei para imprimir para você ver todas as informações que vem e fazer o que for necessário.
No body, imap_fetchbody, o terceiro parametro pode ser:
0=> retorna o body da mensagem com o texto que o servidor recebe
1=> retorna somente o conteudo da mensagem em plain-text
2=> retorna o conteudo da mensagem em html
if ($total_de_mensagens > 0) { for ($mensagem = 1; $mensagem <= $total_de_mensagens; $mensagem++) { echo '<pre>'; print_r(imap_headerinfo($mail_box, $mensagem)); echo '</pre>'; $body = ( imap_fetchbody($mail_box, $mensagem, 2) );
4- Marco a mensagem para exclusão. Esse comando não exclui a mensagem, apenas sinaliza que ela foi marcada para exclusão.
imap_delete($mail_box, $mensagem);
5- Excluo de fato a mensagem. Agora sim eu excluo TODAS as mensagens marcadas
<code>imap_expunge($mail_box);</code>
Um comando muito importante quando você está trabalhando com IMAP é o imap_errors()
Coloquei o código no github pra facilitar a visualização e se quiserem melhorar ficarem a vontade 🙂
https://github.com/paulofernandesjr/email-reader
Código originalmente postado em http://www.phpaulo.com.br/criando-um-leitor-de-e-mail-em-php/