Jump to content
Fórum Script Brasil
  • 0

Ler e-mail no php


itibere

Question

Olá, eu peguei um scrip aqui no forum para ler email no php, o script consegue ir no servido r pegar o email beleza , mas qundo mano abrir o email da a seguinte mensagem:

Este programa não permite a visualização de mensagens formatadas (com cores, imagens e links), portanto solicitamos que você copie o texto abaixo, e cole no campo "Endereço" do seu navegador.

http://....

Mas isso só acontece se o email form em html, se for texto puro funciona certinho;

Codigo que le o email:


$servidor = $_GET['ser'];
$usuario = $_GET['uss'];
$senha = $_GET['pass'];
$tipoS =$_GET['tpop'];
if(isset($tipoS)){
$tipoS =$_GET['tpop'];
}
@ini_set('display_errors', '0');
if($servidor!=""){
$mbox = @imap_open("{".$tipoS.".$servidor:110/pop3}INBOX", $usuario . "@" . $servidor, $senha);
}

$erro[] = imap_last_error();
// testo se tem email no servidor
if ($erro[0] == "Mailbox is empty") {
echo "não tem nenhuma mensagem";
exit;
}
if ($erro[0] != "") {
echo "Ocorrem erros<br>:";
print_r($erro);
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) {
$msgC="você tem $numero_mensagens mensagem";
//echo "você tem $numero_mensagens mensagem";
} else {
$msgC="você não tem $numero_mensagens mensagens";
// echo "você não tem $numero_mensagens mensagens";
}

}
if (isset($_GET["id"])) {
$id = $_GET["id"];
$mensagem = imap_fetchbody($mbox, $id, 1);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Leitor de Email</title>
</head>
<body>
<?php
echo nl2br(quoted_printable_decode($mensagem));
?>
</body>
</html>
<?
}
imap_close($mbox);
?>

[/codebox]

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

ola amigo tudo bom?

seguinte to precisando que meu script faça o mesmo que o seu que ele abra um conta de email mais a dias estou tentando e não consigo.

Seria possivel você me dizer o que a de errado com o meu ?

<?php

$servidor = "seridor";

$usuario = "user";

$senha = "senha";

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

$mbox = imap_open("(imap.$servidor:993/SSL:YES)", $usuario . "@" . $servidor, $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] == "") {

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 " teste ";

echo $data ;

header("Location: imap.php?id=$i&email=$email_remetente&servidor=$servidor_remetente");

}

if (isset($_GET["id"])) {

$id = $_GET["id"];

$email = $_GET["email"];

$servidor = $_GET["servidor"];

$mensagem = imap_fetchbody($mbox, $id, 1);

$msg_email=nl2br(quoted_printable_decode($mensagem));

//conexão com bando de dados

include"config.inc";

$email_bd=$email."@".$servidor;

mysql_query("INSERT INTO trafego_comun (email,texto) VALUES ('$email_bd','$msg_email')");

}

imap_close($mbox);

}

?>

eu já preciso é que ele salve alguns dados no banco de dados mais não estou conseguindo nen abrir

e se possivel se você puder me dizer em qual servidor o teu funcionou eu agradeceria.

obigado bush

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152k
    • Total Posts
      651.6k
×
×
  • Create New...