none
E-mail em html RRS feed

  • Discussão Geral

  • Olá a tds! Sou uma pessoa totalmente leiga em questões de informática, e gostaria de saber como faço para enviar uma msg em HTML, na verdade desejo enviar algumas propagandas de um site que tenho mas, não consigo enviar a msg com imagens só chegam os textos.Agradeço se puderem me ensinar o passo a passo.

    Obrigado,

    Gizelle Ramir

    segunda-feira, 2 de julho de 2012 13:13

Todas as Respostas

  • Crie o contéudo HTML:

    private string CriaHtml()
    {
    	StringBuilder html = new StringBuilder();
    //
    // Aqui vai seu conteúdo HTML
    //
    	html.Append("<img src='cid:imagem1' />"); //Referência a imagem
    //
    // Aqui vai seu conteúdo HTML
    //	
    	return html.ToString();
    }

    Enviar e-mail:

    public bool EnviaEmail()
    {	
    	System.Net.Mail.MailMessage email = new System.Net.Mail.MailMessage();
    	SmtpClient hostOrigem = new SmtpClient();
    	Attachment ArquivoAnexo = null;
    
    	string corpo = CriaHtml(idProduto);
    
    	email.From = new System.Net.Mail.MailAddress("----email-destino----");
    	email.Subject = "--Assunto--"
    
    	AlternateView view =
    		 AlternateView.CreateAlternateViewFromString(corpo, null, MediaTypeNames.Text.Html);
    
    	LinkedResource resource = new LinkedResource("-----CaminhoImagem------");
    	resource.ContentId = "imagem1"; //Referencia a iagem criada no método CriaHtml
    	view.LinkedResources.Add(resource);
    
    	email.AlternateViews.Add(view);
    	email.IsBodyHtml = true;
    
    	ArquivoAnexo = new Attachment(CaminhoAnexo, MediaTypeNames.Application.Octet);
    	email.Attachments.Add(ArquivoAnexo);
    
    
    	hostOrigem.Host = "--e-mail origem";
    	hostOrigem.Port = --porta servidor---;
    	hostOrigem.Credentials = new NetworkCredential("---e-mail origem---", "--senha--");
    	hostOrigem.EnableSsl = true;
    
    	email.To.Add(mailDestino);
    
    
    	hostOrigem.Send(email);
    
    	email.To.Clear();
    	
    	email.Dispose();
    	ArquivoAnexo.Dispose();
    	hostOrigem.Dispose();	
    }

    O LinkedResource é que vai enviar as imagens junto do e-mail.

    Agora dependendo do servidor as imagens só aparecerão se o usuário autorizar, por causa dos filtros de anti-spam.


    Ninguém falou que seria fácil!


    • Editado jothaz segunda-feira, 2 de julho de 2012 16:18
    segunda-feira, 2 de julho de 2012 16:16
  • Gizelle,

    Se você é totalmente leiga em "questões de informática", peça para alguem fazer, o mínimo de explicação que receber não fará sentido para seu entendimento.

    Apesar de ser simples é necessário entender, ou sua propaganda vai ser negativa (pois poderá ficar mal feita).

    É possível sim! Ponha isso na sua cabeça. É possível. "Steve Jobs"

    Eduardo Pires
    www.eduardopires.net.br

           

    terça-feira, 3 de julho de 2012 14:01