<tr><td style=\"padding:10px;background-color:#113797;color:white;\">New & Used"> <tr><td style=\"padding:10px;background-color:#113797;color:white;\">New & Used"> <tr><td style=\"padding:10px;background-color:#113797;color:white;\">New & Used" />

HTML電子メールの感嘆符

私はHTML電子メールでテーブルをフォーマットするのに苦労しています。背景色や奇妙な空白を持たないセルが常にあるようです。

ここにコードがあります(PHPで) -

 $subject.="

<table style=\"width:585px;\" ><tr><td style=\"padding:10px;background-color:#113797;color:white;\">New & Used Vehicles</td><td style=\"padding:10px;background-color:#113797;color:white;\">Term in Months</td><td style=\"padding:10px;background-color:#113797;color:white;\">APR* As Low As</td><td style=\"padding:10px;background-color:#113797;color:white;\">Monthly Payment Per $1000 Borrowed</td></tr>"; $result = mysql_query("SELECT * FROM rates WHERE ID>='32' AND ID <='39'"); while($row = mysql_fetch_array($result)) { $subject.= "<tr><td BGCOLOR=\"#e5f1ff\" style=\"padding:10px;color:black;\">" . $row['name'] . "</td>"; $subject.= "<td BGCOLOR=\"#e5f1ff\" style=\"padding:10px;\">" . $row['term'] . "</td>"; $subject.= "<td BGCOLOR=\"#e5f1ff\" style=\"padding:10px;\">" . $row['apr'] . "</td>"; $subject.= "<td BGCOLOR=\"#e5f1ff\" style=\"padding:10px;\">" . $row['per_1000'] . "</td></tr>"; } $subject.= "</table>";

だから私は両方のCSSの背景とhtmlを試してみました。私はDoctypesも試みました。

これは私のメールコードの外観です。

    mail( "[email protected]", "$title2", "$subject" , "Content-type: text/html;\r\nFrom: [email protected]" );

ここでそれはどのようにレンダリングされます。不正な空間を参照してください?

Table that is messed up!

 <head></head><body>Check out the low rates.<table style="width:585px;" ><tr><td style="padding:10px;background-color:#113797;color:white;">New & Used Vehicles</td><td style="padding:10px;background-color:#113797;color:white;">Term in Months</td><td style="padding:10px;background-color:#113797;color:white;">APR* As Low As</td><td style="padding:10px;background-color:#113797;color:white;">Monthly Payment Per $1000 Borrowed</td></tr><tr><td bgcolor="#e5f1ff" style="padding:10px;color:black;height:100%;">2008 and NEWER Vehicle Purchases</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">Up to 72 Months</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">3.24%</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">$17.28</td></tr><tr><td bgcolor="#e5f1ff" style="padding:10px;color:black;height:100%;">2008 and NEWER Vehicle!
  Purchases</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">64 - 72 Months</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">4.29%</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">$15.69</td></tr><tr><td bgcolor="#e5f1ff" style="padding:10px;color:black;height:100%;">2007 and OLDER Vehicle Purchases</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">Up to 72 Months</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">5.49%</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">$18.20</td></tr><tr><td bgcolor="#e5f1ff" style="padding:10px;color:black;height:100%;">2007 and OLDER Vehicle Purchases</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">64 - 72 Months</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">5.99%</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">$16.46</td></tr><tr><td bgcolor="#e5f1ff" style="padding:10px;color:black;height:100%;">2011 & 2010 REFINANCES</td><td bgcolor=!
 "#e5f1ff" style="padding:10px;height:100%;">Up to 63 Months<td bg
color="#e5f1ff" style="padding:10px;height:100%;">4.99%</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">$18.08</td></tr><tr><td bgcolor="#e5f1ff" style="padding:10px;color:black;height:100%;">2011 & 2010 REFINANCES</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">64 - 72 Months</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">5.49%</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">$16.34</td></tr><tr><td bgcolor="#e5f1ff" style="padding:10px;color:black;height:100%;">2008 - 2009 REFINANCES</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">Up to 60 Months</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">5.99%</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">$19.33</td></tr><tr><td bgcolor="#e5f1ff" style="padding:10px;color:black;height:100%;">2007 & older Vehicle REFINANCE</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">Up to 60 Months</td><td bgcolor="#e5f1ff" style="padding:10px!
 ;height:100%;">6.99%</td><td bgcolor="#e5f1ff" style="padding:10px;height:100%;">$19.80</td></tr></table></body></html>
17
電子メールではXHTMLではなくHTMLを使用するべきです。それはあなたの問題を解決することはできないかもしれませんが、あなたが実行するかもしれない他の多くの問題を防ぎます。
追加された 著者 hakre,
実験では、BGCOLORの属性を低くすることを試みるのと同じように、
タグはXHTMLを使用しているというヒントであり、XML形式でなければなりません。したがって、属性は小文字にする必要があります。おそらく違いはありませんが、メールクライアントは奇妙です:)
追加された 著者 CD001,
... 文字をエンコードすることを覚えておいてください。 New&Used Vehicles に明白な文字がありますが、データベースからも入ります。いくつかの htmlspecialchars()があります。
追加された 著者 CD001,
どの電子メールクライアントで表示していますか?ブラウザとは異なり、電子メールクライアントはレンダリングエンジンを定期的に更新するようには見えず、あらゆる種類の奇妙な奇妙なものを投げ捨てることができます - あなたは正しいことをしていますが、電子メールでHTMLの最も信頼性の高いフォーマットがHTML 4には、no、または多くのインラインCSSがあります。
追加された 著者 CD001,
メールプログラムから実際のHTMLを投稿できますか?
追加された 著者 Sam,
私はちょうど私のテーブルの中にバングがある何らかの奇妙な理由で気づいた。なぜそこにある地獄が不思議です。
追加された 著者 Andrew Threadgill,
私はOutlookでそれを見ているし、Yahooも同じ問題がある。私はhtmlspecialchars()を適用しましたが、それはそれを解決するように見えませんでした。私は電子メールを送信するときにどこで私のdoctypeを宣言しますか?
追加された 著者 Andrew Threadgill,

4 答え

私自身の質問に答えるのは嫌いですが、私は問題の解決策を見つけました。誰かがこの解決策を使って頭痛を取り除くことができれば幸いです。

The issue is being caused by use of the mail() function. When I try to send the email, I have a long string of html code. IN FACT, TOO LONG! When I go past 78 characters a BANG! shows up and then jacks with my html or css. RFC 2822

解決策は、データをベース64にエンコードするか、長い行のhtmlコードに\ r \ nを追加することです。いずれの方法でも問題が解決されます。

誰も助けてくれてありがとう!

27
追加された
いくつかのサンプルコードを貼り付けることができます。私はどこに\ nを追加するのか理解できません。私の$メッセージは長すぎます、私は同じ問題に走っています。
追加された 著者 harishannam,
\ nを使用する必要はありません。
追加された 著者 Andrew Threadgill,
$ messages変数の中には、1行に78文字以上の文字があります。
追加された 著者 Andrew Threadgill,
base-64エンコードを実行する場合は、「Content-Transfer-Encoding」を「base64」に設定し、メッセージコンテンツをエンコードします。 chunk_split(base64_encode($ message_content))
追加された 著者 Woody,
私は同じ問題を抱えていて、長い行の最後に\ nだけ解決することができました。 drupal.org/node/31524 ここでは、電子メールが998文字の後に改行を入れて問題。あなたの答えをポストバックしてくれてありがとう!
追加された 著者 Dan,
@ Andrew Threadgill - 同じ問題を抱えていますが、どのようにHTMLコードをBase 64エンコードに変更しましたか?
追加された 著者 user2341103,

問題の細胞にリターンがないと思われる だから、彼らは完全に満たされるように彼らに高さ:100%を追加してみてください。 あなたはこのコードを調整することでこれを修正することができます

<td style=\"padding:10px;background-color:#113797;color:white;\">

To

<td style=\"padding:10px;background-color:#113797;color:white;height:100%;\">

This should solve your problem.

3
追加された
表のセルは、常にその行の高さと、親の列の全幅です。
追加された 著者 Marc B,

すべてのCSSスタイルを削除すると、多くの電子メールレンダリングエンジンが失敗します。平凡な古いテーブルデザインを使用してください。

Use blah instead of style color, use <table cellpadding="10"> instead of style padding, use bgcolor instead of style background-color.

Set bgcolor to whole TABLE, not TDs.

2
追加された
はい、これは動作します。私はそれがHTMLの電子メールにCSSを持つことはそんなに面倒だったのか分かりませんでした。私が参照したほとんどの場所は、通常インラインでOKです。
追加された 著者 Andrew Threadgill,

Base64エンコードされた電子メールを作成する方法の例を次に示します。

    <?php 

$html = "

The quick brown fox jumped right over the lazy dog.


"; $to = "[email protected]"; $cc = "[email protected]"; $bcc = "[email protected]"; $from = "[email protected]"; $subject = "This is a MIME encoded email"; $boundary = str_replace(" ", "", date('l jS \of F Y h i s A')); $newline = "\r\n"; $headers = "From: $from$newline". "Cc: $cc$newline". "Bcc: $bcc$newline". "MIME-Version: 1.0$newline". "Content-Type: multipart/alternative;". "boundary = \"$boundary\"$newline$newline". "--$boundary$newline". "Content-Type: text/html; charset=ISO-8859-1$newline". "Content-Transfer-Encoding: base64$newline$newline"; $headers .= rtrim(chunk_split(base64_encode($html))); mail($to,$subject,"",$headers); ?>

このコードは次のサイトで見つかりました:

https://ctrlq.org/code/19840-base64-encoded-email

電子メールをBased64 Encodedに設定すると、ランダムな '!'電子メールに追加されます。

2
追加された
もしもあなたがこれを読んで助けたいなら、良い答えを書くにはどうすればいいですか?
追加された 著者 Natalie Hedström,
リンクは私の質問に解決策を提供していますが、これはよく書かれた答えではありません。リンクから最も関連性の高い部分を回答に追加する必要があります。
追加された 著者 Natalie Hedström,
さて、ありがとう、私は私の応答を修正します
追加された 著者 colinam1992,
私はいくつかの変更を加えました
追加された 著者 colinam1992,
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com