2011-12-03 14 views
0

フォームを送信すると、電子メールがプレーンテキストで受信されます。私はそれが少なくとも身体に色を持って、そのneaterがそうするように電子メールを手配したいと思います。書式設定された電子メールを送信するPHPフォームを変更する(HTML電子メール)

 $msg = "You have been contacted by $name with regards to Accommodation. 
They passed verification and their message is as follows." . PHP_EOL . PHP_EOL; 
    $msg .= "$comments" . PHP_EOL . PHP_EOL; 
    $msg .= "You can contact $name via email, $email or via phone $phone." . 
PHP_EOL . PHP_EOL; 
    $msg .= "We want to stay from the $dayin to the $dayout" . PHP_EOL . 
PHP_EOL; 

なぜこのフォームは、$ MSGを使用している:

contact.phpフォーム上

...これは私が現在持っているものでしょうか?私は他の形式で見てきました、彼らは$メッセージを使用します。 上記のフォームにCSSスタイルを追加できますか? 私はまた、以下を参照してください。

 $headers = "From: $email" . PHP_EOL; 
    $headers .= "Reply-To: $email" . PHP_EOL; 
    $headers .= "MIME-Version: 1.0" . PHP_EOL; 
    $headers .= "Content-type: text/plain; charset=utf-8" . PHP_EOL; 
    $headers .= "Content-Transfer-Encoding: quoted-printable" . PHP_EOL; 

は、私が「HTML」と「プレーン」に変更する必要がありますか? どのような提案や例が素晴らしいでしょう!


EDIT:

[OK]をので、今、私のヘッダーは、次のとおりです。

$headers = "From: $email" . PHP_EOL; 
    $headers .= "Reply-To: $email" . PHP_EOL; 
    $headers .= "MIME-Version: 1.0" . "\r\n" . PHP_EOL; 
    $headers .= "Content-type: text/html;charset=iso-8859-1" . "\r\n" . 
PHP_EOL; 
    $headers .= "Content-Transfer-Encoding: quoted-printable" . PHP_EOL; 

は、私は、各ヘッダにPHP_EOLが必要ですか?

私の$ MSGは次のようになります。

$msg = '<style type="text/css"> 
<!-- 
.style { 
font-family: Arial; 
font-size: 12px; 
color: #4D241E; 
} 
body { 
background-image: url(); 
background-color: #F1EAE4; 
} 
.style1 {font-size: 14px} 
--> 
</style> 
<p>&nbsp;</p> 
<table width="420" border="0" align="center" cellpadding="0" cellspacing="5"> 
<tr> 
<td><table width="100%" border="0" cellpadding="8" cellspacing="0" bgcolor="#E7D3AF" 
class="style"> 
    <tr> 
    <td colspan="2" valign="top"><div align="center"><strong><span 
class="style1">Submission/Enquiry from your website</span><br> 

&nbsp;........................................................................ 
</strong><br> 
&nbsp;</div></td> 
    </tr> 
    <tr> 
    <td width="32%" valign="top"><div align="left"><strong>Date Submitted</strong> 
</div></td> 
    <td width="68%" valign="top">'. date("F j, Y, g:i a") .'</td> 
    </tr> 
    <tr> 
    <td valign="top"><div align="left"><strong>Name</strong></div></td> 
    <td valign="top">'.$_POST['name'].'</td> 
    </tr> 
    <tr> 
    <td valign="top"><div align="left"><strong>Email</strong></div></td> 
    <td valign="top">'.$_POST['email'].'</td> 
    </tr> 
    <tr> 
    <td valign="top"><div align="left"><strong>Phone</strong></div></td> 
    <td valign="top">'.$_POST['phone'].'</td> 
    </tr> 
    <tr> 
    <td valign="top"><div align="left"><strong>Day in</strong></div></td> 
    <td valign="top">'.$_POST['dayin'].'</td> 
    </tr> 
    <tr> 
    <td valign="top"><div align="left"><strong>Day out</strong></div></td> 
    <td valign="top">'.$_POST['dayout'].'</td> 
    </tr> 
    <tr> 
    <td valign="top"><div align="left"><strong>Comments</strong></div></td> 
    <td valign="top">'.$_POST['comments'].'</td> 
    </tr> 
</table></td> 
</tr> 
</table> 
'; 

EDIT: MY NEW HTML電子メールDESIGN:私はPHPでこのフォームを追加し、私のフォームを送信したときに今

<table width="600" border="0" cellpadding="0" cellspacing="0"> 
<!--DWLayoutTable--> 
<tr> 
<td width="12" height="14"></td> 
<td width="140"></td> 
<td width="432"></td> 
<td width="16"></td> 
</tr> 
<tr> 
<td height="71"></td> 
<td colspan="2" align="center" valign="middle" bgcolor="#F5F5F5"><span style="font- 
family:Arial; font-size:18px; color:#333333;"><strong>Submission from</strong> 
</span><br /> 
<span style="font-family:Arial; font-size:16px; color:#f9930f;"> 
<em>Your website</em></span></td> 
<td></td> 
</tr> 
<tr> 
<td height="16"></td> 
<td></td> 
<td></td> 
<td></td> 
</tr> 
<tr> 
<td height="30"></td> 
<td valign="middle"><span style="font-family:Arial; font-size:12px; color:#333333;"> 
<strong>Name:</strong></span></td> 
<td valign="middle"><span style="font-family:Arial; font-size:12px; 
color:#333333;">'.$_POST['name'].'</span></td> 
<td></td> 
</tr> 
<tr> 
<td height="30"></td> 
<td valign="middle"><span style="font-family:Arial; font-size:12px; color:#333333;"> 
<strong>Email:</strong></span></td> 
<td valign="middle"><span style="font-family:Arial; font-size:12px; 
color:#333333;">'.$_POST['email'].'</span></td> 
<td></td> 
</tr> 
<tr> 
<td height="30"></td> 
<td valign="middle"><span style="font-family:Arial; font-size:12px; color:#333333;"> 
<strong>Phone:</strong></span></td> 
<td valign="middle"><span style="font-family:Arial; font-size:12px; 
color:#333333;">'.$_POST['phone'].'</span></td> 
<td></td> 
</tr> 
<tr> 
<td height="30"></td> 
<td valign="middle"><span style="font-family:Arial; font-size:12px; color:#333333;"> 
<strong>Day in:</strong></span></td> 
<td valign="middle"><span style="font-family:Arial; font-size:12px; 
color:#333333;">'.$_POST['dayin'].'</span></td> 
<td></td> 
</tr> 
<tr> 
<td height="30"></td> 
<td valign="middle"><span style="font-family:Arial; font-size:12px; color:#333333;"> 
<strong>Day out:</strong></span></td> 
<td valign="middle"><span style="font-family:Arial; font-size:12px; 
color:#333333;">'.$_POST['dayout'].'</span></td> 
<td></td> 
</tr> 
<tr> 
<td height="30"></td> 
<td valign="middle"><span style="font-family:Arial; font-size:12px; color:#333333;"> 
<strong>Comments:</strong></span></td> 
<td>&nbsp;</td> 
<td></td> 
</tr> 
<tr> 
<td height="190"></td> 
<td colspan="2" valign="top"><span style="font-family:Arial; font-size:12px; 
color:#333333;">'.$_POST['comments'].'</span></td> 
<td></td> 
</tr> 
<tr> 
<td height="20"></td> 
<td>&nbsp;</td> 
<td>&nbsp;</td> 
<td></td> 
</tr> 
</table> 

を...私は上記のテーブルレイアウトのようには見えない私の提出物を受け取ります。

答えて

4

次のヘッダーを使用できます。これらはあなたのメッセージに通常のHTMLを入れるだけです。

$headers = "MIME-Version: 1.0" . "\r\n"; 
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n"; 

// More headers 
$headers .= 'From: <[email protected]>' . "\r\n"; 
$headers .= 'Cc: example [email protected]' . "\r\n"; 
+0

こんにちはSpacebeers、あなたの助けのための 感謝を使用することができます良いテンプレートがあります。さて、HTMLを許可するようにヘッダーを変更した後、電子メールの出力に基本的なHTMLレイアウトを追加しましたが、何らかの理由で色がないか、CSSが動作していません。何故ですか? 上記の私のEDITをご覧ください。 – Reflex84

+0

私は間違っているかもしれませんが(現時点でテストする立場ではありません)、HTML電子メールのインラインスタイルを使用する方がよいでしょう。特にOutlook用。インラインスタイルをtdに追加し、それが役立つかどうか確認してください。それは痛みですが、それはあなたのためのOutlookです。 – SpaceBeers

+0

また、Outlookの場合、背景イメージと闘うつもりです。 – SpaceBeers

1

あなたは

Content-type:text/html;charset=iso-8859-1\r\n 


を使用する必要があるとしているうんないすべての電子メールアプリケーションがHTMLをサポートするよう、両方のHTMLとテキスト形式の電子メールを提供するために、良いアイデア、そして多くの可能性があります他の人はそれをうまくサポートしません。

このヘッダーを代わりに使用してください。境界のことは、以下の行は、この目的の電子メールのポストのテキストバージョンこのコードの前に

$boundary = md5(date('r', time())); 
$headers .= "\r\nContent-Type: multipart/alternative; boundary=$boundary."\""; 


に適している固有のコードを生成し、電子メールでHTMLやテキストバージョンを分離するものです" - "を尋ねる時に注意してください。電子メール全体で同じ境界を使用します。HTMLのバージョンが同じコードを投稿する前に

--<?php echo $boundary; ?> 


は再び

あなたがここに http://www.webcheatsheet.com/PHP/send_email_text_html_attachment.php

関連する問題