2 votes

Pourquoi l'encodage des en-têtes content type : text/html ; est absent lors de l'utilisation du plugin MailItem dans Outlook, avec le serveur SMTP de GMAIL : SMTP.GMAIL.COM ?

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 ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X