2013-11-15 29 views
-1

我有PHP邮件程序脚本,我试图添加HTML表格,但当我做脚本停止工作。PHP的MAILER,如何插入HTML表格

这里的PHP脚本邮件

<?php 
// Insert your email/web addresses and correct paths 
$mailto = '[email protected]*******.co.uk' ; 
$from = "[email protected]" ; 
$subject = "Query from ******* 2012"; 
$headers = "From: ******* Website"; 
$formurl = "http://*******.co.uk/citycoaches3/formmail.php" ; 
$errorurl = "http://*******.co.uk/citycoaches3/error.php" ; 
$thankyouurl = "http://*******.co.uk/citycoaches3/thankyou.php" ; 

// Place Your Form info here... 
$pickuppoint = ($_POST['pickuppoint']); 
$destination = ($_POST['destination']); 

// Check If Empty 

// Add more Validation/Cleaning here... 

// Place your Corresponding info here... 
$message = 

    "Pick Point: $pickuppoint\n\n" . 
    "Destination: $destination\n\n" . 
    "noppl: $noppl\n\n" 
; 

// Leave Alone 
mail($mailto, $from, $message); 
header("Location: $thankyouurl"); 
exit ; 

?> 

任何帮助这个可以理解。

继承人什么,我试图

<?php 

$fromAddr = '[email protected]********.co.uk'; // the address to show in From field. 
$recipientAddr = '[email protected]********.co.uk'; 
$subjectStr = '[Quick] Query From ********'; 
$date = date ("l, F jS, Y"); 
$time = date ("h:i A"); 
$forward = 1; 
$formurl = "http://www.********.co.uk/formmail.php" ; 
$errorurl = "http://www.********.co.uk/error.php" ; 
$thankyouurl = "http://www.********.co.uk/thankyou.php" ; 
header("location:thankyou.php"); 

$mailBodyText = <<<HHHHHHHHHHHHHH 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"> 
<title>Thank You</title> 
</head> 
<body> 
<img src="http://********.co.uk/images/mailsig.png" /> \n\n<br /> 
<span style="color:#900; font-size:18px;">Below is the result submitted from <strong>[Quick Quote] ******** Website</strong>. It was submitted on <strong>$date at $time</strong>.\n\n</span> 
<p><table width="600" border="1" cellpadding="5px"> 
    <tr> 
    <td><b>Pickup Date:</b> </td> 
    <td>{$_POST['date']}<br></td> 
    </tr> 
    <tr> 
    <td><b>Pickup Time:</b> </td> 
    <td>{$_POST['PickupTime-Hours']}:{$_POST['PickupTime-Mins']}<br></td> 
    </tr> 
    <tr> 
    <td><b>Pickup Point:</b> </td> 
    <td>{$_POST['PickUp-Point']}<br></td> 
    </tr> 
    <tr> 
    <td><b>Destination:</b> </td> 
    <td>{$_POST['Destination']}<br></td></tr> 
    <tr> 
    <td><b>No. Of People:</b> </td> 
    <td>{$_POST['No-of-Persons']}<br></td> 
    </tr> 
    <tr> 
    <td><b>Journey Type:</b> </td> 
    <td>{$_POST['JourneyType']}<br></td> 
    </tr> 
    <tr> 
    <tr> 
    <td><b>Return Date:</b> </td> 
    <td>{$_POST['returnDate']}<br></td> 
    </tr> 
     <tr> 
    <td><b>Return Time:</b> </td> 
    <td>{$_POST['returnTime-Hours']}{$_POST['returnTime-Mins']}<br></td> 
    </tr> 
    <tr> 
    <tr> 
    <td><b>Vehicle Type:</b> </td> 
    <td>{$_POST['type']}<br></td> 
    </tr> 
    <tr> 
    <tr> 
    <td><b>Full Name:</b> </td> 
    <td>{$_POST['Full-Name']}<br></td> 
    </tr> 
    <tr> 
    <tr> 
    <td><b>Tel/Mobile:</b> </td> 
    <td>{$_POST['Tel-Mobile']}<br></td> 
    </tr> 
     <tr> 
    <td><b>Email:</b> </td> 
    <td>{$_POST['Email']}<br></td> 
    </tr> 
    <tr> 
</table> 




</p> 
</body> 
</html> 
HHHHHHHHHHHHHH; 

$headers= <<<TTTTTTTTTTTT 
From: $fromAddr 
MIME-Version: 1.0 
Content-Type: text/html; 
TTTTTTTTTTTT; 

mail($mailto, $from, $message, 
    "From: \"$name\" <$email>" . $headersep . "Reply-To: \"$name\" <$email>" . $headersep); 
header("Location: $thankyouurl"); 
exit ; 

?> 

仍然没有出于某种原因。

继承人的UPDATE:

去除

"From: \"$name\" <$email>" . $headersep . "Reply-To: \"$name\" <$email>" . 

后,我成功地接收电子邮件,但它粘贴整个代码是在$消息。

+0

请按照您尝试过的方式在表格中显示代码。 – CaptainCarl

+0

[可以发送混合的txt/html邮件与PHP邮件功能?]可能的重复?(http://stackoverflow.com/questions/3675605/is-it-possible-to-send-mixed-txt-html -mails-与最PHP的邮件功能的) – Quentin

+0

继承人我试过,但确实的例子并不似乎工作 – Adil

回答

-1

使用php html email并插入表中的电子邮件正文部分

+0

我已经使用PHP HTML电子邮件使用者在过去,但我使用http://www.websitecodetutorials。COM /代码/ jQuery的插件/ jQuery的ajaxsubmit.php从这里教程。当我在$ message中插入HTML标签时,脚本停止工作。 – Adil

+0

好的,所以最初的问题并不完整。您是否收到任何错误?尝试使用error_reporting(E_ALL),并显示在你是否得到空白页面,而不是错误 –

+0

的我的道歉不提供启动时的所有信息中的错误。我已经更新了它的问题发送电子邮件取出几头之后但在发布电子邮件 – Adil

0

尝试从文件中获取的HTML:

$message = file_get_contents('./path/email.html') // it's easyer to maintain but not mandatory 

,并添加HTML内容类型标题

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

然后

mail($mailto, $from, $message, $headers) //notice the headers; 
+0

我会试试这个。您的帮助 – Adil

+0

试过这种感谢,没有工作 – Adil

-1

如果你想显示在您的消息的消息体到收件人,也许你应该尝试把一个引号在你的代码:

$mailBodyText = "<<<HHHHHHHHHHHHHH 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"> 
<title>Thank You</title> 
</head> 
<body> 
<img src="http://********.co.uk/images/mailsig.png" /> \n\n<br /> 
<span style="color:#900; font-size:18px;">Below is the result submitted from <strong>  [Quick Quote] ******** Website</strong>. It was submitted on <strong>$date at  $time</strong>.\n\n</span> 
<p><table width="600" border="1" cellpadding="5px"> 
<tr> 
<td><b>Pickup Date:</b> </td> 
<td>{$_POST['date']}<br></td> 
</tr> 
<tr> 
    <td><b>Pickup Time:</b> </td> 
<td>{$_POST['PickupTime-Hours']}:{$_POST['PickupTime-Mins']}<br></td> 
</tr> 
<tr> 
<td><b>Pickup Point:</b> </td> 
<td>{$_POST['PickUp-Point']}<br></td> 
    </tr> 
    <tr> 
    <td><b>Destination:</b> </td> 
    <td>{$_POST['Destination']}<br></td></tr> 
    <tr> 
    <td><b>No. Of People:</b> </td> 
    <td>{$_POST['No-of-Persons']}<br></td> 
    </tr> 
    <tr> 
<td><b>Journey Type:</b> </td> 
<td>{$_POST['JourneyType']}<br></td> 
</tr> 
<tr> 
    <tr> 
    <td><b>Return Date:</b> </td> 
    <td>{$_POST['returnDate']}<br></td> 
    </tr> 
    <tr> 
    <td><b>Return Time:</b> </td> 
    <td>{$_POST['returnTime-Hours']}{$_POST['returnTime-Mins']}<br></td> 
</tr> 
<tr> 
<tr> 
<td><b>Vehicle Type:</b> </td> 
<td>{$_POST['type']}<br></td> 
</tr> 
<tr> 
    <tr> 
    <td><b>Full Name:</b> </td> 
    <td>{$_POST['Full-Name']}<br></td> 
</tr> 
<tr> 
    <tr> 
<td><b>Tel/Mobile:</b> </td> 
    <td>{$_POST['Tel-Mobile']}<br></td> 
</tr> 
    <tr> 
    <td><b>Email:</b> </td> 
<td>{$_POST['Email']}<br></td> 
</tr> 
<tr> 
</table>"; 
+0

请及时更换双引号:) –

+0

里面的双引号为单引号,请检查你的代码再次,你会在总方向错了...使用<<< *在PHP变量中插入html时效果更好。 –

+0

试用这个单引号..根本没有工作。 – Adil

0

因为我觉得别人的答案并没有给你正确的方向又,这里是我的另外:

$name = _("test"); // Or insert variable 

$message = <<<EOF 

    // html here 
    <p>hello $name</p> 

EOF; 

$to = ""; 

$subject = ""; 

// To send HTML mail, the Content-type header must be set 
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

// Additional headers 
$headers .= 'From: Example <[email protected]>' . "\r\n"; 

// Mail it 
mail($to, $subject, $email, $headers); 

发送电子邮件时,您必须对HTML头..

0

ALL非常感谢你的帮助和建议。

我终于在这里工作是我做的。

在$消息中插入:

$message = "<html><body> 
<b><FONT COLOR='#900' SIZE='13px'>Hi this is working now</FONT></b> 
<table width='400' border='0' cellpadding='5px'> 
<tr> 
    <td><b><FONT COLOR='#900'>Pickup Date:</FONT></b> </td> 
    <td>{$_POST['date']}<br></td> 
    </tr> 
</table> 
</html></body>"; 

而且添加下列头

$headers .= "MIME-Version: 1.0\r\n"; 
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; 
再次

所有工作谢谢大家!