Jump to content

Linked Resource Image .Gif


Ricardo Lopes
 Share

Recommended Posts

Ricardo Lopes

Boa  Tarde ,

Eu estou a tentar enviar um email através de SMTP em que o código html tem uma imagem , e essa imagem é colocada por Linked Resource mas ao receber o email com o gif a imagem esta parada (fica como se fosse um jpg ou png)

Deixo em baixo o enxerto do código usado

 public void SendEmail_EX(oInfoEmail InfoEmail, oInfoLogo InfoLogo, oInfoLogo InfoLogo2, oInfoLogo InfoLogo3, oMessage oMessage, oGeral oGeral, string bday, string bdayMail, Logs aviso)
        {
            string HtmlSource = "";
            try
            {
                // validar variáveis
                string pathMessage = oMessage.bdayPersons;
                if (!File.Exists(pathMessage))
                {
                    // ficheiro de mensagem não existe -> terminar processo
                }

                // carregar o conteudo da mensagem
                HtmlSource = File.ReadAllText(pathMessage);
                LinkedResource resourceImgHtml = new LinkedResource(InfoLogo2.Path, "image/gif");
                LinkedResource resourceImgHtml2 = new LinkedResource(InfoLogo.Path, "image/png");
                resourceImgHtml.ContentId = Guid.NewGuid().ToString();
                resourceImgHtml2.ContentId = Guid.NewGuid().ToString();

                HtmlSource = HtmlSource.Replace("[Nome]", bday);
                DateTime dt = DateTime.Now;
                HtmlSource = HtmlSource.Replace("[Dia]", dt.Day.ToString());
                HtmlSource = HtmlSource.Replace("[Ano]", dt.Year.ToString());
                HtmlSource = HtmlSource.Replace("[Mes]", dt.Month.ToString());
                HtmlSource = HtmlSource.Replace("[Esta]", "está");
                HtmlSource = HtmlSource.Replace("[img]", @"<img class='img-full-width1' src='cid:" + resourceImgHtml.ContentId + @"'/>");
                HtmlSource = HtmlSource.Replace("[img1]",@"<img class='img-full-width2' src='cid:" + resourceImgHtml2.ContentId + @"'/>");

                // contruir o conteudo para envio de email
                AlternateView htmlView = AlternateView.CreateAlternateViewFromString(HtmlSource, null, MediaTypeNames.Text.Html);                
                htmlView.LinkedResources.Add(resourceImgHtml);
                htmlView.LinkedResources.Add(resourceImgHtml2);

                MailMessage mail = new MailMessage();
                SmtpClient SmtpServer = new SmtpClient("smtp server ");
                mail.AlternateViews.Add(htmlView);
                mail.Body = HtmlSource;

                mail.IsBodyHtml = true;
               . 
               .
               .
              }
            catch (Exception ex)
            {
                aviso.WriteToFile(ex.ToString());
            }
        }
   

 

Agúem me consegue ajudar?

 

Desde já agradeço o tempo dependido .

Continuação de uma boa semana

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.