I am trying to send an email via Sendgrid using the following code. The email has an image which I am trying to send.
var client = new SendGridClient("MYAPIKEY");
var from = new EmailAddress("from@from.com");
var subject = "test";
var to = new EmailAddress("to@to.com");
var plainTextContent = "";
Image s = CreateBitmapImage("Hi");
ImageConverter converter = new ImageConverter();
var imageBytes = (byte[])converter.ConvertTo(s, typeof(byte[]));
var b64String = Convert.ToBase64String(imageBytes);
var dataUrl = "data:image/jpg;base64," + b64String;
var htmlContent = "<img src='" + dataUrl + "' />";
var msg = MailHelper.CreateSingleEmail(from, to, subject, plainTextContent, htmlContent);
var response = client.SendEmailAsync(msg).Result;
Following is what i see in gmail after sending the image.
I referred to sendgrid blogpost for embedding image via base64. Please suggest if I am doing wrong somewhere.