0

页面不加载。我正在尝试从我的 PHP 代码发送一封电子邮件。这是为慈善组织自动发送电子邮件。

`

$name = $_POST['name'];
$message = $_POST['message'];

$message = <<<EMAIL

$name

$message

EMAIL;

$header = 'hi';
if($_POST){
mail($to, $subject, $message, $header)
$feedback = "Email Sent!";
}

?>

<!DOCTYPE html>
<body>
<p id = "feedback"><?php echo $feedback; ?></p>
<form action = "emailtest.php" method = "POST">
<label for = "name">Name: </label>
<input type = "text" name = "name" id = "name" /> <br />
<label for = "message"> Enter a Message: </label>
<textarea id = "message" name = "message" cols = "42" row = "9"></textarea> <br />
<input type = "submit" value = "Send Email">

</form>
</body>
</html>`
4

2 回答 2

0

您的第一个测试是错误的,该$_POST变量将始终可用,此外,函数中的“标题”与主题行或您认为的任何内容都不对应,而是邮件标题(您仅在查看源代码时看到的一些信息,包括 id消息的处理,各种邮件服务器的处理等......

另外请不要因为您的代码易受攻击,并且您的邮件程序可能被用来向他人发送垃圾邮件。http://www.thesitewizard.com/php/protect-script-from-email-injection.shtml 替换为类似

if(!empty($_POST)){
$name = $_POST['name'];
$message = $_POST['message'];

$message = <<<EMAIL

$name

$message

EMAIL;

mail($to, $subject, $message)
$feedback = "Email Sent!";
}

祝你好运 !

于 2013-10-22T18:19:59.040 回答
-1

您的代码的功能是任意的。mail()函数需要使用预先存在的 SMTP 邮件服务器
。如果您正在运行 WAMP 堆栈或尚未完全配置堆栈,则可能需要采取额外的步骤来设置 mail()。

有关更多信息,请参阅:https ://www.php.net/manual/en/ref.mail.php

于 2019-06-05T19:46:33.050 回答