当我们通过我们的网站接收消息时,电子邮件的“发件人”列为“ newwavea@host424.hostmonster.com”,而不是提交消息的人的地址。
您可以检查我的PHP并查看我哪里出错了吗?谢谢。
这是WEBPAGE LINK
<?php
if(!empty($_POST['full-name1']) or !empty($_POST['email1']) ) {
header('Location: success.html');
}
$name = $_POST['full-name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'From: SSR';
$to = 'info@new-wave-academy.com'; // send to this address
$subject = $_POST['subject'];
$body = "From: $name\n
Email: $email\n
Message:\n $message";
mail($to, $subject, $body);
header("Location: http://new-wave-academy.com/Contact/success.html"); /* Redirect browser */
exit();
?>
最佳答案
From
和Return-path
地址必须明确设置。 PHP不会解析消息正文以寻找它们(为什么要这么做?)。由于您没有设置任何设置,因此系统将仅使用服务器配置中设置的默认值。
您可以将$additional_headers
参数用于发件人,并且在许多情况下,您可以将$additional_parameters
用于发件人地址:
bool mail ( string $to , string $subject , string $message [, mixed $additional_headers [, string $additional_parameters ]] )
(reference)
请注意,基础邮件传输服务可能允许也可能不允许在这些字段中使用任意地址。
用mail()
固定消息格式也非常容易,因此我强烈建议使用第三方库,例如Swift Mailer或PHPMailer。