我正在尝试使用简单的 PHP mail() 函数从网站创建用户反馈。我使用 W3 中的“PHP Secure E-mail”示例脚本作为基础。由于电子邮件的性质,没有必要增加安全性或使用与该主题相关的其他帖子中建议的某些库,例如 swift mailer。
加载基本表单并选择“发送邮件”按钮后,我收到“服务器错误”消息和以下支持信息:
“网站在检索http://www.examplewebsite/formsuccessful.php?forename=Joe&surname=Blogs&email=j.oe.blogs%40example.co.uk&subject=TEST+2&message=Test+Content时遇到错误 它可能已关闭维护或配置不正确。”
文件“formsuccessful.php”文件肯定在服务器上的正确文件夹中 - 除非我忽略了另一个设置来启用这种类型的 PHP 脚本?
我已经包含了下面的表单和 PHP 代码,以防其中有错误。
当然会感谢一些帮助,我已经在这个房子周围跳舞了很多次,我再也看不到树上的木头了。
干杯。
PHP:
<?php
function spamcheck($field)
{
$field1=filter_var($field, FILTER_SANITIZE_EMAIL);
if(filter_var($field1, FILTER_VALIDATE_EMAIL))
{
return TRUE;
}
else
{
return FALSE;
}
}
if (isset($_REQUEST['email']))
{
$mail = $_REQUEST['email'];
$mailcheck = spamcheck($mail);
if ($mailcheck==FALSE)
{
echo "Invalid input";
}
else
{
$email = $_REQUEST['email'] ;
$subject = $_REQUEST['subject'] ;
$message = $_REQUEST['message'] ;
$name = $_REQUEST['forename']." ".$_REQUEST['surname'];
mail("admin@examplewebsite.com", "Subject: "$subject,
"Message: "$message, "From: "$email," ",$name );
}
}
else{
//reload page with message highlighting error
}
?>
HTML 表单:
<form method="REQUEST" action="formsuccessful.php">
<fieldset class="master">
<legend class="master" style="text-align:left;"><b><u>Personal Details:</u></b></legend>
<ol class="master">
<li class="master"><label class="master" for"forname">Forename<em class="master">*</em></label><input class="left" type="text" name="forename" size="30" /></li>
<li class="master"><label class="master" for"surname">Surname<em class="master">*</em></label><input type="text" name="surname" size="30" /></li>
<li class="master"><label class="master" for"email">Your Email<em class="master">*</em></label><input type="text" name="email" size="30" /></li>
</ol>
<legend class="master" style="text-align: left;"><b><u>Email Contents:</u></b></legend>
<ol class="master">
<li class="master"><label class="master" for="subject">Subject:<em class="master">*</em></label><input type="text" name="subject" size="30" /></li>
<li class="master"><label class="master" for="message">Content:<em class="master">*</em></label><textarea cols="50%" rows="20" onkeyup="checkContent()" name="message" id="message"></textarea></li>
<li class="master"><input type="submit" value="Send Email" /></li></ol>
</fieldset>
</form>
等着让我指出明显的犯罪行为。