Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

gamefe

Confirmação de leitura de e-mail para newsletter.

Recommended Posts

Bom pessoall, estou montando um sistema de newsletter para os clientes da empresa.No bd existe alguns campos, tais como dia do cadastro, nome, email, senha, data da leitura, autorização...Acontece que quando a pessoa cadastra, ela recebe um e-mail pedindo pra ela confirmar o cadastro.Neste e-mail, eu coloquei um iframe para que quando a pessoa fosse ler, ela atualizava no bd a data da leitura. Porque assim eu poderia deletar automaticamente os clientes que não liam nada por exemplo, a mais de dois meses.Como tem imagem neste e-mail, com o logo da empresa, seja no outlook ou em outro webmail, fica travado a exibição desta imagem, sendo que o usuário tem de autorizar. Só que mesmo autorizando a exibição de imagens, não abre o iframe, então não atualiza o sistema.Testei da seguinte maneira. Coloquei a logo da empresa na página que está no iframe, ela não apareceu... então ele não está abrindo.A única idéia que tive foi essa do iframe. Procurei no fórum e vi algumas dúvidas a respeito disso, mas nenhuma com uma solução.Alguém poderia ajudar?Valeuuuuuuuu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, acabei de arrumar o meu problema e como vi que tinha muitas pessoas com o mesmo problema, resolvi postar a solução....

Primeiro, coloque uma imagem na newsletter... qualquer uma!

Para abrir ela na newsletter, abra assim:

<img src="http://www.site.com.br/newsletter/imagem.asp?atualizar=dasdaspdasdr078hoj9ysdfsdjvc">

Ou seja, quando a pessoa abrir esta imagem, ela vai atualizar o bd, dando o update e vai mostrar a imagem.

Segue abaixo o código do imagem.asp

 

<%'Declaramos as variáveis e os objetos que iremos utilizar na memóriaDim objFSO, Caminho_Foto'Informamos no cabecalho de nosso documento que ele é do tipo Imagem JPEG.Response.AddHeader "Content-Type","image/JPEG"'Habilitamos o BufferResponse.Buffer = True'Postamos no browser o conteúdo do Response.AddHeader, pois abaixo iremos ler os dados binários de um arquivo JPEG e o cabeçalho, tem que estar setado como Content-Type image/jpegResponse.Flush'Declaramos o valor da variável como caminho físico do local que se encontra a foto.Caminho_Foto = "e:/home/site/web/newsletter/imagens/logo.jpeg"'Iniciamos a instância do componente FSO, pois verificaremos se o arquivo existe no caminho determinado pelo usuário.Set objFSO = Server.CreateObject("Scripting.FileSystemObject")'Através do método FileExists do componente FSO impomos a condição para verificamos se o caminho físico do arquivo é um caminho válido, para evitar erros ao processar ao carregar o arquivo abaixoIf objFSO.FileExists(Caminho_Foto) = True Then			'Declaramos a variável do objeto que usaremos abaixo			Dim objLerArquivo			'Declaramos uma constante necessária para ser usado no componente instanciado abaixo.			Const adTypeBinary = 1			'Instanciamos o componente responsável por ler a imagem e retornar a mesma.			Set objLerArquivo = Server.CreateObject("ADODB.Stream")			'Iniciamos a operação pela propriedade Open			objLerArquivo.Open			'Especificamos ao objeto qual será o tipo de dados que o componente deve processar neste caso entra a constante declarada acima, apontando o tipo de arquivo para binário.			objLerArquivo.Type = adTypeBinary			'Carregamos o Arquivo no componente pela propriedade LoadFromFile			objLerArquivo.LoadFromFile Caminho_Foto		   			'Exibimos na tela utilizando o Response.BinaryWrite, o resultado do arquivo que o ADODB.Stream processou acima.			Response.BinaryWrite objLerArquivo.Read		   			'Fechamos o Objeto			objLerArquivo.Close			'Terminamos a instancia ao componente liberando a memória			Set objLerArquivo = Nothing			'Novamente devolvemos todo conteúdo, armazenado em buffer			Response.Flush		   			'Limpamos o buffer			Response.Clear()Else			'Caso o arquivo não seja encontrado, limpamos o buffer e terminamos o programa.			Response.Clear()			Response.EndEnd If'Terminamos a instância com o componente FSO e liberamos a memória.Set objFSO = NothingDim objConn, senha, senha2, strQuery, data_lida, ObjRssenha2 = Request.QueryString("password")Set objConn =  Server.CreateObject("ADODB.Connection")objConn.Open "DBQ=e:/home/site/dados/informativo.mdb" & ";Driver={Microsoft Access Driver (*.mdb)}","username","password"strQuery = "UPDATE newsletter SET data_lida = '" & Date() & "' WHERE senha = '" & senha2 & "' "Set ObjRs = objConn.Execute(strQuery)objConn.closeSet objRs = NothingSet objConn = Nothing %>

Este é o código completo.

O começo do imagem.asp tirei do site http://www.imasters.com.br/artigo/4875/asp...magens_do_site/

 

Espero que ajude outras pessoas tal como me ajudou...

Qualquer coisa é só falar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.