web-dev-qa-db-ja.com

Gmailはimというクラスの特定のHTML要素をラップします

最近作成したHTML電子メールプロセスをテストしています。しかし最近、Gmailで電子メールを開くと、特定の要素が元のHTMLレイアウトに入れていないことがわかっているクラスにラップされていることに気付きました。実際、私はトリプルチェックしただけです! GmailでHTMLメールを表示すると、フォームのランダムなセクションがラップされます...

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

その結果、一部のテキストは紫色になりますが、他のテキストは紫色になりません。なぜこれが起こるのですか?

ありがとう

46
klewis

Gmailは、会話で他のメールを引用していると考えているようです。そのため、div.im会話の前の部分と思われるコードのセクションの周り。

これは、コードに複数のTRを持つTABLEがある場合に発生する可能性があります。これを回避するには、1つのTABLE内の複数のTRではなく、それぞれに1つのTRを持つ複数のTABLEを使用します。

これは、同じ件名が複数ある場合にも発生する可能性があり、Gmailはこれを会話だと見なします。これを修正するには、各件名を一意にします。

64
Derek Henderson

また、次のように単一の改行を含む段落を使用すると、この問題が発生しました。

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

Gmailで発生する問題を修正して、HTMLの特定の部分からすべての空白スペースを削除し、段落全体とそのすべてのコンテンツを画面の左端に合わせてフラッシュしました。確かに少し乱雑に見え、適切なインデントを失いますが、これは、Gmailが誤ってインラインで引用していると思わないようにするのに役立つと思います。

4
stevecomrie

メールでは、個別のスタイルファイルは機能しません。ただし、次のようにhtmlにこのクラスのスタイルを追加できます。

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

これは、クラスにスタイルを与える必要があります。im

3
Zack

私もこの問題を抱えています。そして、すべての行末に5ビットのランダムcharを追加し、背景のような色を設定しました。その後、問題は修正されました。

それは良い方法ではありませんが、別の方法がなければ、多分あなたはそれを試すことができます。

1
liwanglin12

同様の問題がありました。テンプレートを使用してアプリケーションからメールを送信していました。そのため、同じアドレスに複数のメールを送信すると、それらすべてでまったく同じ行が紫色になりました。 Gmailはこのタグを自動的に追加しました:

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

事実、Gmailがこのタグを使用して会話の一般的なテキストをラップしているように思えたのはわかりません。同様の議論 こちら

0
Arif Hossain

この方法でimクラスのスタイルを無視します

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

一部のテキストに紫色がありません

0