2012-02-12 8 views
2

PHPに組み込まれた単純なメール機能を使用して受信者の注文を送信します。それは場合PHPで送信された私の電子メールは、数人の受信者(数百を送信)のタグとしてのみ表示されます。

..私だけのhtmlタグを参照してください、そしてもちろん何かを理解することはできません受信者のしかしいくつかのテーブルに設定し、「素敵」、電子メールおよびそれ

のディテールを持ついくつかのスタイルです

htmlは完璧で、終わりのタグを紛失していません。ヘッダーも送っています。読んでみてください。

$body = "some html tags, set up in a table" ; 
$sendto = "The recipients email here" ; 
$subject = "subject here" ; 
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1'."\r\n"; 
$headers .= "To: theemailhere <theemailhere>\r\n"; 
$headers .= 'From: <thefromemailhere>' . "\r\n"; 
mail($sendto, $subject, $body, $headers); 

これは私の側からのエラーですか、または受信者がhtml電子メールを受信しないように選択されていますか?私は2012年にこれがまだ可能であることを意味し、人々はこれを無効にしますか?

もしそうなら、これを行うための良い回避策があります。私はプレーンテキストを使わないでください。

+3

はい、人々はそれを無効にします。私はそれを無効にする。 HTMLを送信する場合は、プレーンテキスト部分とhtml部分を含むmultipart/mimeメッセージを送信することをお勧めします。 –

+0

可能性のある[PHP HTML HTMLメールレンダリングタグの見通し](http://stackoverflow.com/questions/2043490/php-html-mail-rendering-tags-in-outlook) –

答えて

0

はい。 実際に電子メールクライアントでHTML電子メールを許可していません。私は古いOutlooksもこれらの1つだと思いますが、わかりません。

とにかく、それはあなたのせいではない、それはユーザーのものです。ソース1とソース2を参照してください。

そして、ユーザーのメールプログラムが何を受け入れるのかは決して分かりません。平文のみが確実に受け入れられる。引用出典2:

「あなたができる最善のは、主要顧客のそれぞれが、自分のデザインを壊し、そしてそれがどのように分割するかを制御しようと する方法、それはあなたの受信者のほとんどが まだ読めるだように、予想しています"

これは複数のメッセージでのみ解決できますが、一部の人は平文を取得します。問題の詳細については、ソース3を、ソリューションについてはソース4を参照してください。この上

一部のドキュメント:Source 1Source 2Source 3

+0

これはちょっとクリアしました..マルチパートメッセージをお勧めしますか? 私はこれを行うと、htmlを読むことができる人の何人かが、誤って代わりにプレーンテキストのバージョンを取得することがわかります。 –

+0

はい、いいえ。そうした少数の人に自分の個人設定で電子メールのタイプを変更させたり、タグを読ませたりするように強制するといいですね。そうすれば、このサインアップにはログインページがあります。ユーザーが設定するように要求されるべきではないと思うなら、multipartを使うことはタグより優れています。 – axiomer

+0

ダングそれは今、実際にタグを受け取った人の中には、他人が送ったHTMLメッセージを実際に読むことができるようです。 これがなぜ起こったのでしょうか? :( –

0

Source 4 I最近Zend_Mailを使用してきたテキスト形式のメッセージを設定するオプション、およびその後、上書きされますHTML形式のメッセージを持っている、(ZFから) HTMLが利用できる場所です。私はこれがメッセージにどのように実装されているのか分かりませんが(ヘッダなど)、これはあなたの問題に対する答えかもしれません。

関連する問題