J'essaie d'envoyer du HTML à un compte gmail, à partir du serveur SMTP de gmail.
Si j'écris ce code et que j'envoie du HTML, il n'y a pas de problème.
MailMessage mail = new MailMessage("aaaa@gmail.com", to, subject, body);
mail.IsBodyHtml = true;
SmtpClient smtpClient = new SmtpClient(smtp);
smtpClient.EnableSsl = true;
smtpClient.Port = 587;
smtpClient.Credentials = new NetworkCredential(userName, password);
smtpClient.Send(mail);
L'email reçu dans le compte gmail est en base64 avec les en-têtes :
Subject: Test
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: base64
PGh0bWw==
(cette base 64 n'est pas valide, c'est seulement pour la question)
Mais si j'utilise Outlook.MailItem pour envoyer mon courriel, voici ce que j'obtiens.....
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<https://fdsafasdfasd.com/images/logo.png> =09
Cedric Boivin
cboivin@fadsfdasfads.com
Vous a envoy=E9 un message s=E9curis=E9 vifdasfasdfes
Mon texte est vu en clair, et non en HTML dans Gmail. Voici mon code dans Outlook Plugin
Microsoft.Office.Interop.Outlook.MailItem newMail = Globals.ThisAddIn.Application.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);
// newMail.Display(false);
newMail.Subject = subject;
newMail.To = email.ToLower().Trim();
newMail.Recipients.ResolveAll();
newMail.BodyFormat = Microsoft.Office.Interop.Outlook.OlBodyFormat.olFormatHTML;
newMail.HTMLBody = htmlBody;
newMail.Send();
Une suggestion ?