56

私は現在、PHPのmail()関数からhtml形式の電子メールを送信しており、それらがHTMLとして表示されていることを確認するだけです(形式は別として、形式はクライアントごとに(おそらく大幅に)異なることをよく知っています) 。それらは、AppleMailクライアントと私のiPhoneでHTMLとして表示されています。ただし、Gmailは単にHTMLとして表示することを拒否します。そして、それはそれが間違ってフォーマットされているという意味ではありません、それは単にそれが表示されるHTMLを使用していないだけです。

奇妙な部分は、タグからのimgがロードされていることですが、それはそれについてです...私は主にレイアウトにdivを使用していて、Gmailなど(テーブルに対して)には新しすぎますか?

CSSとそうでないものに関しては、生のソースを表示すると次のように表示されます。

<html><head><style>body { background-color: #F2F2F2; font-family: Arial; color: #5C5C5C; font-size: 11pt; } a { color: #46AAFF; text-decoration: none; } #container { width: 750px; margin-right: auto; margin-left: auto; } #header { float: right; padding: 3px; height: 30px; } #header a { color: #666666; margin-right: 10px; } #mainBody { padding: 20px; background-color: #FFF; border: 1px solid #DADADA; border-radius: 3px; } #imageArea { border-top: solid #E8E8E8 1px; margin: 15px; } #singleImageArea { width: 250px; padding: 15px; } #singleImageArea p { float: right; line-height: 30px; width: 130px; margin-top: 20px; } #footer { padding: 10px; color: gray; } #footer p { text-shadow: 0px 2px #FFF; font-size: 10pt; } #footer a { color: #ADADAD; float: right; padding-left: 20px; padding-right: 20px; } #footer img { width: 35px; height: 23px; padding: 10px; float: left; } </style></head><body><div id="container"><div id="header"><a href="http://appname.local/login/">Login</a></d
 iv><div style="clear: both;"></div><div id="mainBody"><h1>Hi Josh Holat!</h1>You've sent a request to <strong>reset</strong> your appname password. Just click the link below <em>(or copy and paste it into your browser)</em> and follow the instructions to set a new password. The link will expire in one hour.<br/><br/><a href="http://appname.local/sb/reset-password/?r=2768af61698fcde9c04f9449351575d6bfe6d720">http://appname.local/sb/reset-password/?r=2768af61698fcde9c04f9449351575d6bfe6d720</a><br/><br/>If you feel this request was submitted in error, don't worry; you can safely ignore this e-mail and your password will not be changed.<br/><br/>Much Love,<br/>Us</div><!-- #mainBody --><div id="footer"><img src="http://appname.local/images/email/footer_sb.png" /><p>&copy; 2011 appname, Inc. All Rights Reserved <a href="http://appname.local/sb/legal/">Legal</a><a href="http://appname.local/sb/contact/">Contact</a><a href="http://s
 tagebloc.local/sb/developers/">Developers</a><a href="http://appname.local/sb/blog/">Blog</a></p></div><!-- #footer --></div><!-- #container --></body></html>

と同様:

    Delivered-To: appname@gmail.com
Received: by 10.229.40.2 with SMTP id i2cs133298qce;
        Sun, 28 Aug 2011 14:29:08 -0700 (PDT)
Received: by 10.42.152.199 with SMTP id j7mr4419937icw.417.1314566947950;
        Sun, 28 Aug 2011 14:29:07 -0700 (PDT)
Return-Path: <_www@joshholat.local>
Received: from joshholat.local (arh2281.urh.uiuc.edu [130.126.70.193])
        by mx.google.com with ESMTP id w3si6800550icz.109.2011.08.28.14.29.06;
        Sun, 28 Aug 2011 14:29:06 -0700 (PDT)
Received-SPF: neutral (google.com: 130.126.70.193 is neither permitted nor denied by best guess record for domain of _www@joshholat.local) client-ip=130.126.70.193;
Authentication-Results: mx.google.com; spf=neutral (google.com: 130.126.70.193 is neither permitted nor denied by best guess record for domain of _www@joshholat.local) smtp.mail=_www@joshholat.local
Received: by joshholat.local (Postfix, from userid 70)
    id 775063662E01; Sun, 28 Aug 2011 16:29:06 -0500 (CDT)
To: Josh Holat <appname@gmail.com>
Subject: Password Reset Request
X-PHP-Originating-Script: 501:Email.php
From: appname <noreply@appname.com>
Content-type: text/html
Message-Id: <20110828212906.775063662E01@joshholat.local>
Date: Sun, 28 Aug 2011 16:29:06 -0500 (CDT)

なぜサードパーティのクライアントがそれをうまく表示するのか混乱していますが、Gmailは単にそれを無視しますか?

4

6 に答える 6

87

ビューがかなり多く、新しいツールが利用できるので、回答を更新しています。私は後世のために私の元の答えを残しています。

編集*9/19/19

ここで電子メールクライアントによるCSSプロパティのサポートを見つけることができます:https: //www.caniemail.com/


元の回答:

<style>Gmailはタグをサポートしていません。Gmailを正しく機能させるには、インラインcssを使用する必要があります。

これが参照リストです。 http://www.campaignmonitor.com/css/

于 2011-08-28T23:14:27.857 に答える
38

Gmailはタグをサポートしておらず <style>、多くのクライアントもサポートしていません。生活を楽にするために、convertを使用してスタイルタグをインラインCSSに変換できます:https ://templates.mailchimp.com/resources/inline-css/

于 2013-02-19T22:51:18.123 に答える
4

上記の答えはかなり良いですが、もう少しポイントを追加したかっただけです。このリンクへのすべてのクレジット:

  1. Gmailはでのみサポート<style>してい<head>ます。Gmailは埋め込みスタイルをサポートしています(<style>)。ただし、埋め込みスタイルは、HTMLドキュメントの先頭でのみサポートされます。GmailのAndroidおよびiOSアプリは、<style>Google以外のアカウント(GANGA)を介して取得したメールをレンダリングする場合はまったくサポートしません。

  2. <style>Gmailでエラーが発生した場合、ブロック全体が削除されます。

  3. Gmailでは、負のCSSマージン値は許可されていません。

  4. Gmailは、属性セレクターとほとんどの疑似クラスをサポートしていません。例:div[class="content"]{ color: red }:checkedGmailは、やのような疑似クラスもサポートしていません:active

于 2019-05-11T07:48:36.573 に答える
2

#footerという名前のIDを使用しているようです。Googleはメールを処理するときにその名前を認識していないようです。Gmailから見たフォントコードでは、#footerを除いて、すべてのIDが「exc」+idNameで表示される場合があることに注意してください。別の名前を使用してみてください。

于 2013-10-02T15:40:15.667 に答える
1

これは少し遅れていますが、メールSMTPをOutlookからGmailに変更した後も同じ問題に直面していました。GmailはStyleタグをサポートしなくなったため、メールはデフォルトの期待されるテンプレート形式で届きませんでした。以下の解決策は私のために働いた:

  1. デフォルトのメールテンプレートコードを.jenkinsディレクトリの下のemail-templatesフォルダにコピーします。テンプレートをコピーするためのリンク:https ://github.com/jenkinsci/email-ext-plugin/blob/master/src/main/resources/hudson/plugins/emailext/templates/groovy-html.template

  2. スタイルタグのプロパティをSTYLEからSTYLEtype= "text / css" data-inline = "true"に変更し、テンプレートを保存してジョブで使用するだけです。

終わり。それは私のために働いた。

于 2021-04-23T11:16:20.140 に答える
-2

ブラウザからブラウジングデータをクリアしてから、Gmailをロードしてください。それでもhtmlコンテンツは表示されます。同じページでハードリフレッシュを実行します。

マック:

Command + Shift + R
ウィンドウズ:
Control + Shift + R

于 2021-04-03T07:47:46.747 に答える