web-dev-qa-db-fra.com

Gmail enveloppe certains éléments HTML dans une classe appelée im

J'ai testé un processus de messagerie HTML que j'ai créé récemment. Mais dernièrement, lorsque j'ouvre l'e-mail dans Gmail, je constate que certains éléments sont encapsulés dans une classe que je sais ne pas avoir mise dans la disposition HTML originale. En fait, je viens de vérifier trois fois! Lors de l'affichage du courrier HTML dans Gmail, des sections aléatoires de mon formulaire sont enveloppées avec ...

<div class="im">
....
</div>

En conséquence, certains textes deviennent violets, d'autres non. Pourquoi cela arrive-t-il?

Merci

40
klewis

Gmail semble penser que vous citez d'autres e-mails dans une conversation et encapsule donc div.im autour des sections de votre code qui, selon elle, sont des éléments précédents d'une conversation.

Cela peut se produire si votre code a une TABLE avec plusieurs TR. Pour contourner ce problème, plutôt que plusieurs TR dans un TABLE, utilisez plusieurs TABLE avec un TR dans chaque.

Cela peut également se produire si plusieurs objets sont identiques, ce qui incite Gmail à penser qu'il s'agit d'une conversation. Vous pouvez résoudre ce problème en rendant chaque ligne d'objet unique.

56

J'ai également rencontré ce problème lors de l'utilisation d'un paragraphe avec des sauts de ligne simples, comme ceci:

<p>
   line 1<br>
   line 2<br>
   line 3
</p>

J'ai pu corriger le problème qui se produisait dans Gmail: supprimer tout l'espace vide de cette partie spécifique du code HTML et ramener tout le paragraphe et tout son contenu au ras du bord gauche de l'écran. Certes, cela semble un peu brouillon et vous perdez votre indentation, mais je pense que cela aide Gmail à ne pas penser accidentellement que vous citez quelque chose en ligne.

3
stevecomrie

Les fichiers de style séparés ne fonctionnent pas pour les courriels. Ce que vous pouvez faire, c'est ajouter un style pour cette classe dans le code HTML comme suit:

  <head>
       <style type="text/css">
        .im {
           color: #000000 !important;
        }
    </style>
  </head>

Cela devrait donner du style à la classe .im au cas où elle serait trouvée

1
Zack

J'ai aussi ce problème. Et je viens d'ajouter un nom aléatoire char de cinq bits à chaque fin de ligne et de définir la couleur comme arrière-plan. Ensuite, le problème a été résolu.

Ce n'est pas un bon moyen, mais si ce n'est pas le cas, vous pouvez peut-être essayer.

1
liwanglin12

J'ai eu des problèmes similaires. J'envoyais des courriels à partir d'une application utilisant des modèles. Ainsi, lorsque j’envoyais plusieurs courriels à la même adresse, les lignes qui sont exactement les mêmes ont toutes été violettes. Gmail a ajouté cette balise automatiquement:

<div class="im">
.........
</div>

Je ne le savais pas, Gmail semble envelopper les textes courants dans une conversation avec le tag this. Discussion similaire ici .

0
Arif Hossain

Vous ignorez le style de classe im de cette façon

<b style="color:black;">Some text</b>

Certains textes n'ont pas de couleur violette

0
Stefan Dosković