【发布时间】:2015-05-05 12:52:52
【问题描述】:
我正在尝试让我的电子邮件表单正常工作,但似乎有问题。它根本不发送电子邮件!
作为参考,这里使用的是 Wordpress,代码如下:
<?php
$action=$_REQUEST['action'];
if ($action=="") /* display the contact form */
{
?>
<form action="#" method="POST" enctype="multipart/form-data">
<input type="hidden" name="action" value="submit">
Your name:<br>
<input name="username" type="text" value="" size="30"/><br>
Department:<br>
<select id="department" class="form-control-footer">
<option value="Email_0">Sales</option>
<option value="Email_1">Support</option>
<option value="Email_2">Website Feedback</option>
<option value="Email_3">Other</option>
</select><br>
Email Subject<br>
<input name="emailsubject" type="text" value="" size="30"/><br>
Your email:<br>
<input name="email" type="text" value="" size="30"/><br>
Your message:<br>
<textarea name="message" rows="7" cols="30"></textarea><br>
<input type="submit" value="Send email"/>
</form>
<?php
}
else /* send the submitted data */
{
$name=$_POST['username'];
if (($department=="Email_0"))
{
$mailto=$_POST['example@website.com'];
}
if (($department=="Email_1"))
{
$mailto=$_POST['example@website.com'];
}
if (($department=="Email_2"))
{
$mailto=$_POST['example@website.com'];
}
else
{
$mailto=$_POST['example@website.com'];
}
$emailsubject=$_POST['emailsubject'];
$email=$_POST['email'];
$message=$_POST['message'];
if (($name=="")||($email=="")||($message==""))
{
echo "All fields are required, please fill <a href=\"\">the form</a> again.";
}
else{
$from="From: $name<$email>\r\nReturn-path: $email";
$subject="Webform : $emailsubject";
mail($mailto, $subject, $message, $from);
echo "Thank you for your email! Your email has been sent, and we will try to respond as soon as we can!";
}
}
?>
我已修改基本表单以添加部门,这会更改联系表单的收件人。但这样做时,表单似乎根本不再发送这些电子邮件。
谁知道我做错了什么?
【问题讨论】:
-
您是否收到任何错误消息?如果是这样,请将它们包括在您的问题中。 - 另外,为什么你把 if 语句包在 double () 中?
-
我没有在页面上收到任何错误消息。网站上的某个地方我可以访问任何错误日志吗?另外,我这样做是因为它的下部相同。我会用单括号试试!
-
$mailto=$_POST['example@website.com'];这似乎不对。你的意思是写$mailto='example@website.com';? -
最好使用
if.. else if..而不是只使用if -
我真的不知道。我是 PHP 新手,但似乎邮件函数中使用的所有内容都使用 POST,所以我认为 mailto 应该是相同的。代码实际上一直在屏蔽屏幕,直到我将其添加进去。