

Registrar Quem Abriu E-mail
#1
Posted 31/07/2007, 18:05

#2
Posted 31/07/2007, 21:03
Meu Anjo, queira postar o código onde você quer que ocorra essa ação, vou tentar resolver pra você

Atenciosamente.
Quando acertamos ninguém se lembra, quando erramos ninguém se esquece.
Problemas existem para serem resolvidos, e não para nos controlar.
#3
Posted 31/07/2007, 21:18
eu preciso uma idéia pra começar a raciocinar direitoBoas...
Meu Anjo, queira postar o código onde você quer que ocorra essa ação, vou tentar resolver pra você![]()
Atenciosamente.

vou postar só o código de envio pois tem muita coisa junto ok?
<?phpif ($_POST['enviando']) { set_time_limit(0); // e-mail de quem manda a mala direta $remetente = "email@email.com"; // e-mail para onde vai a resposta da mala direta $email_resposta = "email@email.com"; // endereço para descadastramento de e-mail (sem http) $descadastramento = "www.dominio.com"; // texto de descadastramento na versão HTML $texto_rodape = "<br><br><center><font face=\"Verdana\" size=\"1\">Para sair da lista de e-mails clique no link: <a href=\"http://" . $descadastramento . "\">" . $descadastramento . "</a></center>"; $modelo = $_POST['modelo']; $assunto = $_POST['assunto']; $id_mae = $_POST['id_mae']; $assunto = strip_tags($assunto); // retira as tags HTML e PHP do texto do e-mail redigido $id_mae = stripslashes($id_mae); // retira as barras invertidas \ do texto do e-mail redigido $sql = "SELECT * FROM mala_direta"; $query = mysql_query($sql); $registros = mysql_num_rows($query); // pega o n° de total de e-mail registrados na mala direta // Headers (infos de configuração do e-mail) $headers = "MIME-Version: 1.0\n"; $headers .= "Content-type: text/html; charset=utf-8-1\n"; $headers .= "From: $remetente\n"; $headers .= "Content-Transfer-Encoding: 8bit\n"; $headers .= "Reply-to: $email_resposta"; $num = 0; while($linha = mysql_fetch_array($query)) { // pega os e-mails dos destinatários $email_destinatario = $linha['email']; if ($num <= 100){ $mensagem = $id_mae; // Email feito no editor $mensagem .= $texto_rodape; // Texto de descadastramento $mensagem .= '<br><br><center><font face=\"Verdana\" size=\"1\">http://www.humdesign.com/index.php?' . $email_destinatario . ' </center>'; // Link do Destinatário mail($email_destinatario, $assunto, $mensagem, $headers); $num++; // mostra a layer de aviso echo "<script type='text/javascript'>document.getElementById('total').style.visibility=\"visible\";</script>"; // manda enviar a saida para o browser flush(); } else { sleep(30); $num = 0; } } // esconde a layer de aviso echo "<script type='text/javascript'>document.getElementById('total').style.visibility=\"hidden\";</script>"; // enviado com sucesso echo "<table width=\"570\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td width=\"500\" align=\"center\" class=\"tabVermelha\">E-mail enviado com sucesso!</td><td width=\"70\"> </td></tr></table>"; }?>
Edição feita por: savior, 02/08/2007, 12:48.
Utilize tags [codebox] na próxima vez.
#4
Posted 31/07/2007, 21:29
Olha só deicha eu ver se entendi você:
Você quer que quando a pessoa abrir o e-mail a mesma seja registrada no DB ?, explica de um modo detalhado, ainda não consegui entender

Quando acertamos ninguém se lembra, quando erramos ninguém se esquece.
Problemas existem para serem resolvidos, e não para nos controlar.
#5
Posted 31/07/2007, 21:40
hum....
Olha só deicha eu ver se entendi você:
Você quer que quando a pessoa abrir o e-mail a mesma seja registrada no DB ?, explica de um modo detalhado, ainda não consegui entender
sim só que tô tentando fazer por partes, na verdade acho que não vai dar pra ver isso só com a pessoa abrindo o email, acho que ela vai ter que clicar em algum link assim eu teria como passar o parametro pro link, até aí tudo bem se eu colocar isso
<a herf=\"http://www.humdesign.com/index.php?' . $email_destinatario . ' \"></a>no meio do while ele coloca em cada e-mail um link com o e-mail da pessoa como parametro, mas a pessoa teria que clicar nesse link especifico pra eu saber, então eu teria que automatizar pra que onde existir link esse parametro ser adicionado automaticamente, mas como fazer isso se o html é feito antes do while que envia o email?
melhorou ou complicou?

#6
Posted 01/08/2007, 08:38
<img src="minha_imagem.PHP?uid=090192810280" />
Eu coloquei a em maiúsculo propositalmente, era pra ser notada. A imagem na verdade é um arquivo PHP, com um código semelhante a este:
<?php ob_start(); //execute as operações no bd para armazenar o usuário que leu o email // echo $_GET['uid']; // imprimi: 090192810280 header ("Content-type: image/png"); $im = @imagecreatetruecolor(1, 1) or die("Impossível inicializar a biblioteca GD."); imagepng($im); imagedestroy($im); ob_end_flush(); ?>
Você cria com o php uma imagem de 1x1px, mas antes faz o trabalho de identificação e contagem.

Yeah I do have some stories, and it's true I want all the glory ...
#7
Posted 01/08/2007, 10:26
Fazer o trackback é fácil, o difícil é você conseguir "burlar" a "segurança" anti-spam dos webmails atuais. Para contar quem abriu um e-mail a idéia da imagem é uma das mais viáveis. Você envia junto no email uma imagem para ser aberta dessa forma:
<img src="minha_imagem.PHP?uid=090192810280" />
Eu coloquei a em maiúsculo propositalmente, era pra ser notada. A imagem na verdade é um arquivo PHP, com um código semelhante a este:<?php ob_start(); //execute as operações no bd para armazenar o usuário que leu o email // echo $_GET['uid']; // imprimi: 090192810280 header ("Content-type: image/png"); $im = @imagecreatetruecolor(1, 1) or die("Impossível inicializar a biblioteca GD."); imagepng($im); imagedestroy($im); ob_end_flush(); ?>
Você cria com o php uma imagem de 1x1px, mas antes faz o trabalho de identificação e contagem.
não entendi muito bem esse código, ele guarda o parametro com o ob_start depois cria uma imagem, depois detroi a imagem, onde eu coloco o script pra salvar no bd no meio disso tudo?

#8
Posted 01/08/2007, 10:45
A parte onde eu coloquei os comentários é onde você irá executar as operações com o banco de dados. Eu até coloquei um $_GET ali para já pegar o identificador do usuário, que você deve substituir pelo qual você usará.
imgpng() irá enviar a imagem para o navegador, então o imagedestroy() serve para liberar a memória utilizada pela imagem, já que ela foi enviada. E no final eu libera o envio dos cabeçalhos com o ob_end_flush();
Qualquer coisa utilize o manual do php ( http://br.php.net ) para consultar as funções utilizadas.

Yeah I do have some stories, and it's true I want all the glory ...
#9
Posted 01/08/2007, 11:32

<?php // segura o cabeçalho da página ob_start(); // insere o registro no BD include('admin/config.php'); $conexao = mysql_connect("$dbhost","$dbuser","$dbpass"); mysql_select_db("$dbname"); $contador = "INSERT INTO $TBedit_cont (email) VALUES ('".$_GET['email']."')"; $query = mysql_query($contador); header ("Content-type: image/png"); $im = @imagecreatetruecolor(1, 1) or die ("Impossível inicializar a biblioteca GD."); // envia a imagem para o navegador imagepng($im); // libera a memória da imagem imagedestroy($im); // libera o envio do cabeçalho ob_end_flush(); ?>
#10
Posted 01/08/2007, 11:57
O que se pode fazer eh uma verificação pelo proprio servidor de email. Pelo menos no email que tenho na empresa, ele me apresenta 3 opções: confirmar entrega, confirmar leitura e urgente.
Vendo a origem do email ele me aparece da seguinte forma:
-----------------------------------------------------------------------------------------------------------------
Return-path: <henrique@xxxxxx.org.br>
Received: from WorldClient by xxxxxx.org.br
(MDaemon PRO v9.6.1)
with ESMTP id md50000073671.msg
for <henrique@xxxxxx.org.br>; Wed, 01 Aug 2007 10:51:06 -0400
Authentication-Results: xxxxxx.org.br
smtp.mail=henrique@xxxxxx.org.br; auth=pass (henrique@xxxxxx.org.br)
Received: by xxxxxx.org.br via WorldClient with HTTP;
Wed, 01 Aug 2007 10:51:03 -0400
Date: Wed, 01 Aug 2007 10:51:03 -0400
From: "Henrique Melo" <henrique@xxxxxx.org.br>
To: henrique@xxxxxx.org.br
Subject:
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="_0801-1051-03-PART-BREAK"
Message-ID: <WorldClient-F200708011051.AA51030004@xxxxxx.org.br>
X-Mailer: WorldClient 9.6.1
Return-Receipt-To: henrique@xxxxxx.org.br
X-Confirm-Reading-To: henrique@xxxxxx.org.br
Disposition-Notification-To: henrique@xxxxxx.org.br
X-Priority: 1 (Highest)
X-Authenticated-Sender: henrique@xxxxxx.org.br
X-Spam-Processed: xxxxxx.org.br, Wed, 01 Aug 2007 10:51:06 -0400
(not processed: message from valid local sender)
X-Rcpt-To: henrique@xxxxxx.org.br
X-MDRcpt-To: henrique@xxxxxx.org.br
X-Return-Path: henrique@xxxxxx.org.br
X-Envelope-From: henrique@xxxxxx.org.br
X-MDaemon-Deliver-To: henrique@xxxxxx.org.br
--_0801-1051-03-PART-BREAK
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
Teste
--_0801-1051-03-PART-BREAK
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
<HTML>
<head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style title="table borders">.htmtableborders, .htmtableborders td,
.htmtableborders th {border : 1px dashed lightgrey ! important;} </style>
<style type="text/css">html, body { border: 0px; } span.macro, span.macro
ul, span.macro div, span.macro p {background : #CCCCCC;} </style> <style
type="text/css"> p{margin-bottom: 0.15em;margin-top:
0.15em;}body{font-family:;font-size:8pt;}; </style></head><body> <font
style="font-size: 8pt;"><div>Teste<br> </div></font> <div align="left">
<img alt="" src="http://server-03/Use...iles/email.gif" align="" border="0"
hspace="0" vspace="0"><br></div> </body>
</HTML>
--_0801-1051-03-PART-BREAK--
-----------------------------------------------------------------------------------------------------------------
Modifiquei o dominio pra não ocorrer problemas por aqui.
Negritei algumas informações que acho importantes. Talves de pra passar essas informações no header do email, realmente deconheço como possa ser feito isso, porem assim sempre chega um email de confirmação, com isso você consegue saber quem recebeu e abriu o email. Espero que ajude e bons estudo.
Edição feita por: Henrique_Melo, 01/08/2007, 11:58.
#11
Posted 01/08/2007, 19:20

mas valeu pela ideia

Acho q fazendo isso, seus emails cairam na caixa de spam ou possivelmente serão ignorados.
O que se pode fazer eh uma verificação pelo proprio servidor de email. Pelo menos no email que tenho na empresa, ele me apresenta 3 opções: confirmar entrega, confirmar leitura e urgente.
Vendo a origem do email ele me aparece da seguinte forma:
-----------------------------------------------------------------------------------------------------------------
Return-path: <henrique@xxxxxx.org.br>
Received: from WorldClient by xxxxxx.org.br
(MDaemon PRO v9.6.1)
with ESMTP id md50000073671.msg
for <henrique@xxxxxx.org.br>; Wed, 01 Aug 2007 10:51:06 -0400
Authentication-Results: xxxxxx.org.br
smtp.mail=henrique@xxxxxx.org.br; auth=pass (henrique@xxxxxx.org.br)
Received: by xxxxxx.org.br via WorldClient with HTTP;
Wed, 01 Aug 2007 10:51:03 -0400
Date: Wed, 01 Aug 2007 10:51:03 -0400
From: "Henrique Melo" <henrique@xxxxxx.org.br>
To: henrique@xxxxxx.org.br
Subject:
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="_0801-1051-03-PART-BREAK"
Message-ID: <WorldClient-F200708011051.AA51030004@xxxxxx.org.br>
X-Mailer: WorldClient 9.6.1
Return-Receipt-To: henrique@xxxxxx.org.br
X-Confirm-Reading-To: henrique@xxxxxx.org.br
Disposition-Notification-To: henrique@xxxxxx.org.br
X-Priority: 1 (Highest)
X-Authenticated-Sender: henrique@xxxxxx.org.br
X-Spam-Processed: xxxxxx.org.br, Wed, 01 Aug 2007 10:51:06 -0400
(not processed: message from valid local sender)
X-Rcpt-To: henrique@xxxxxx.org.br
X-MDRcpt-To: henrique@xxxxxx.org.br
X-Return-Path: henrique@xxxxxx.org.br
X-Envelope-From: henrique@xxxxxx.org.br
X-MDaemon-Deliver-To: henrique@xxxxxx.org.br
--_0801-1051-03-PART-BREAK
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
Teste
--_0801-1051-03-PART-BREAK
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit
<HTML>
<head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style title="table borders">.htmtableborders, .htmtableborders td,
.htmtableborders th {border : 1px dashed lightgrey ! important;} </style>
<style type="text/css">html, body { border: 0px; } span.macro, span.macro
ul, span.macro div, span.macro p {background : #CCCCCC;} </style> <style
type="text/css"> p{margin-bottom: 0.15em;margin-top:
0.15em;}body{font-family:;font-size:8pt;}; </style></head><body> <font
style="font-size: 8pt;"><div>Teste<br> </div></font> <div align="left">
<img alt="" src="http://server-03/Use...iles/email.gif" align="" border="0"
hspace="0" vspace="0"><br></div> </body>
</HTML>
--_0801-1051-03-PART-BREAK--
-----------------------------------------------------------------------------------------------------------------
Modifiquei o dominio pra não ocorrer problemas por aqui.
Negritei algumas informações que acho importantes. Talves de pra passar essas informações no header do email, realmente deconheço como possa ser feito isso, porem assim sempre chega um email de confirmação, com isso você consegue saber quem recebeu e abriu o email. Espero que ajude e bons estudo.
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)