Bom não vamos criar nada muito complexo, para fazer isso ilustro o método abaixo desenvolvido em .Net
Conceito:
– Enviaremos um email no formato HTML
– Para cada email enviado, iremos inserir uma linha do banco de dados com uma chave única.
– No corpo de cada email, iremos adicionar uma tag de imagem apontando para uma URL passando como parâmetro o ID da mensagem.
– Criaremos uma pagina .aspx e no evento Page_load(), vamos alterar o tipo do documento forçando assim o seu app a entender que a url é uma imagem. Dentro do evento load vamos recuperar a variável (chave única) e atualizar a tabela informando que o email foi lido.
default.aspx Imports System.Data.SqlClient Imports System.Data Imports System.Drawing Partial Class _Default Inherits System.Web.UI.Page Dim cn1 As New SqlConnection("") Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim img As System.Drawing.Image img = System.Drawing.Image.FromFile(Server.MapPath("~\valido.png")) Response.Clear() Response.ContentType = "image/jpeg" Using b As New Bitmap(img.Width, img.Height) Using g As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(b) g.Clear(System.Drawing.Color.White) g.DrawImageUnscaled(img, 0, 0) End Using b.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg) End Using If Not String.IsNullOrEmpty(Request.Params("track")) Then Try If cn1.State = ConnectionState.Closed Then cn1.Open() Dim sqlComando As New SqlCommand("UPDATE tabela_email SET data_leitura = GETDATE() WHERE email_id = " & Request.Params("track"), cn1) sqlComando.ExecuteNonQuery() Catch ex As Exception Response.Write(ex.Message) End Try End If Response.End() End Sub End Class
Corpo do email
Dim sURL As String = "http://www.thiagothamiel.com/trackmail/?track=" & nID EMailMsg.Body += "<img src='" & sURL & "' alt='track de segurança' style='width:120px;height:120px;'>"
Adicione o trecho acima, no final do email, a imagem pode ser dimensionada com o tamanho minimo ficando invisível.
outra ideia é criar um selo de segurança para os seus emails:
Exemplo: se o email que voce enviou tem uma validade, você pode carregar no evento load da pagina aspx uma imagem informando que o email esta dentro da validade ou fora da validade, variando de acordo com a sua campanha.
Categorias:Programação
Deixe uma resposta