receber mail pop3 no php. [RESOLVIDO]

1. receber mail pop3 no php. [RESOLVIDO]

Estrutura PHP
estrutura php

(usa Ubuntu)

Enviado em 16/01/2012 - 11:10h

Para receber e-mails no php, primeiro temos que liberar na configuração do php a função ;extension=php_imap.dll
removendo " ; ".

<?php

$servidor = "pop.seu_servidor.com.br";
$usuario = "usuario";
$senha = "senha";

@ini_set('display_errors', '0');

$mbox = imap_open("{".$servidor.":110/pop3}INBOX",$usuario,$senha);

$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++) {

date_default_timezone_set('America/Sao_Paulo');
$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;

$from = $headers->from;
$destinatario = $from[0]->personal;
$email_destinatario = $from[0]->mailbox;
$servidor_destinatario = $from[0]->host;

$receber = $headers->sender;
$destinatario = $receber[0]->personal;
$data = $headers->date;
$data2 = $headers->date;
$data = strtotime($data);
$data2 = strtotime($data2);
$data = date("d-m-Y_H-i-s", $data);
$data2 = date("d/m/Y H:i:s", $data2);
$msg = imap_qprint(imap_body($mbox, $i));

// para corrigir html
$inicio = "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict
//EN''http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='pt-br' />
<html dir='ltr' xmlns='http://www.w3.org/1999/xhtml'>
<head>
<meta content='text/html; charset=utf-8' http-equiv='Content-Type' />
<meta http-equiv='content-language' content='pt-br' />
</head>
<body>";

$fim = "</body>
</html>";

// vai salvar os email em arquivo!
// caso nao queira salvar em arquivo, remova as instrução abaixo.
$fp = fopen("C:\\wamp\\www\\pop\\arquivo\\".$email_destinatario."@"
.$servidor_destinatario."_".$data.".html", "w+");
fwrite($fp, "$inicio"."<br />"."De: $destinatario - $email_destinatario."@"
.$servidor_destinatario $data2.<br />
Para: $remetente - $email_remetente@$servidor_remetente.<br />
Assunto: $assunto.<br /><br />
$msg<br />.$fim");
fclose($fp);

// informação que vai ser gravado no arquivo que será criado para cada email.
echo "MSG. $i: $assunto - Remetente: $email_remetente@$servidor_remetente -
Data: $data. <a href='arquivo/$email_destinatario@".$servidor_destinatario."_"
.$data.".html' title='$assunto' target='_blank'>Ler Mais.</a><br />";
// echo imap_qprint(imap_body($mbox, $i)); // imprimi a mensagem
}
echo "<embed src='//estruturaphp.com.br/images/Lamina.mp3' hidden='true'/>";
echo "<br>";
if (isset($_GET["id"])) {
$id = $_GET["id"];
$mensagem = imap_fetchbody($mbox, $id, 1);
echo nl2br(quoted_printable_decode($mensagem));
}

imap_close($mbox);
}
?>

Dividas, Visite http://estruturaphp.com.br


  


2. Re: receber mail pop3 no php. [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 16/01/2012 - 11:12h

Companheiro, legal a dica, mas publique como Dica, não como pergunta, segue o link : http://www.vivaolinux.com.br/contribuir/dicas/index.php






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts