Como ler um e-mail e salvar o anexo via IMAP

Se você busca uma forma de ler um ou mais e-mails e salvar o anexo contido em cada mensagem. Após instalar o módulo do IMAP no PHP, criei um arquivo chamado lermail.php com o seguinte conteúdo:

<?php
/* Ler um e-mail e salvar o TXT em anexo */

//Conecta-se ao MailServer
$mbox = imap_open("{webmail.uol.com.br}INBOX",
"seuemail@uol.com.br", "senha") or
die("Can't connect: " . imap_last_error());

//Lê todas as mensagens
for($m = 1; $m <= imap_num_msg($mbox); $m++){

//Pega a estrutura da mensagem
$estrutura = imap_fetchstructure($mbox, $m);

//Da estrutura, pega o nome do anexo. Dê um print_r na $estrutura para ver mais detalhes
$nomeAnexo = $estrutura->parts[1]->parameters[0]->value;

//Da mensagem, pega o conteúdo do anexo
$dados = imap_base64(imap_fetchbody($mbox, $m, 2));

//Cria um arquivo com o nome do anexo
$arq = fopen($nomeAnexo,"w");

//Grava o conteúdo do anexo no novo arquivo.
fwrite($arq, $dados);

//Fecha o novo arquivo
fclose($arq);

}

//Fecha a conexão com o MailServer
imap_close($mbox);
?>

Espero ter colaborado com a sua necessidade.

Fonte: Sidney Palmeira (sidneypalmeira.wordpress.com)

Facebook Twitter Linkedin Digg Delicious Reddit Stumbleupon Tumblr Posterous