我正在为我的网站创建一个电子邮件表单,允许用户创建一封电子邮件,并且似乎是从他们希望的任何电子邮件地址发送的。即davidcameron@downingstreet.com。
表单工作正常,直到我做了一个小改动。我之前允许用户提交电子邮件的内容,但是在格式化内容时遇到了困难(即使区域变粗,使用表等)。
(现在的表格代码)
<html>
<body>
<form method="GET" action="send.php">
<p>To: <input type="text" name="to" /></p>
<p>From-Name: <input type="text" name="name" /></p>
<p>From-Email: <input type="text" name="from" /></p>
<p>Subject: <input type="text" name="subject" /></p>
<input type="submit" value="Send E-Mail" ></p>
</form>
</body>
</html>
所以我认为在我的发送邮件中自己提交内容会更容易。实际发送电子邮件的代码。这显示如下:
<html>
<body>
<?php
$to =$_REQUEST['to'];
$subject = $_REQUEST['subject'];
$name =$_REQUEST['name'];
$from = $_REQUEST['from'];
$content = ?><font face="arial"><b>Your question has been received/b>
Your booking has been confirmed with the supplier.
Please visit the <a href="questionstory.co.uk"> Question Portal</a> for more information.
<table>
<tr>
<td>Question subject</td>
<td> Room</td>
</tr>
<tr>
<td>Traveller</td>
<td>Maria Smith</td>
</tr>
<td>Requester</td>
<td>Tony Smith</td>
</tr>
</table>
<br/>
</font>
<?
$header="From: $from"."<$sender_email>\r\n";
mail($to,$subject,$content,$header);
echo 'sent successfully';
?>
</body>
</html>
但是,当我点击提交时,我的服务器发现错误。我只能假设这是因为我的HTML元素,因为此错误在以前没有发生过。
任何人都可以建议我如何解决此问题/如果您可以建议一种更简单的方式来格式化我想要的电子邮件内容?
非常感谢
答案 0 :(得分:1)
将您的内容值设置为
$content = ''
由于您的$ content未定义,这就是您收到错误的原因。
希望这能解决您的问题。
答案 1 :(得分:1)
试试这个
<?php
$to = $_REQUEST['to'];
$subject = $_REQUEST['subject'];
$name = $_REQUEST['name'];
$from = $_REQUEST['from'];
$content =
'<span style="font-family: arial"><b>Your question has been received</b>
<br>
Your booking has been confirmed with the supplier.
Please visit the <a href="questionstory.co.uk"> Question Portal</a> for more information.
<table>
<tr>
<td>Question subject</td>
<td> Room</td>
</tr>
<tr>
<td>Traveller</td>
<td>Maria Smith</td>
</tr>
<td>Requester</td>
<td>Tony Smith</td>
</tr>
</table>
<br/>
</span>';
$header = "From:".$from;
$result = mail($to,$subject,$content,$header);
if(isset($result))
{
echo 'sent successfully';
}
else
{
echo 'Failed';
}
?>
注意:HTML5中不支持
<font>
标记
编辑01
也包括这一行
$header .= 'MIME-Version: 1.0';
$header .= 'Content-Type: text/html; charset="ISO-8859-1';