Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP未知发件人_Php_Html_Forms_Web - Fatal编程技术网

PHP未知发件人

PHP未知发件人,php,html,forms,web,Php,Html,Forms,Web,您好,我对PHP相当陌生,目前不太了解。我修改了一份联系表,遇到了一些关于邮件直接变成垃圾邮件的问题 我认为这是(未知发件人)一直显示在电子邮件标题中的原因。如果有人能帮我纠正这一点,我将不胜感激。以下是我在网站中实现的代码: <?php $name = $_POST['name']; $email = $_POST['email']; $message = $_POST['message']; $from = 'From: Wirral PT Enquiry'; $to = 'joeb

您好,我对PHP相当陌生,目前不太了解。我修改了一份联系表,遇到了一些关于邮件直接变成垃圾邮件的问题

我认为这是(未知发件人)一直显示在电子邮件标题中的原因。如果有人能帮我纠正这一点,我将不胜感激。以下是我在网站中实现的代码:

<?php
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
$from = 'From: Wirral PT Enquiry'; 
$to = 'joebloggs@hotmail.com'; 
$subject = 'Wirral PT Enquiry';
$human = $_POST['human'];
$headers = "enquiry@wirralpt.co.uk";
$body = "From: $name\n E-Mail: $email\n Message:\n $message";

if ($_POST['submit']) {
    if ($name != '' && $email != '') {
        if ($human == '2') {                 
            if (mail ($to, $subject, $body, $from)) { 
            echo '<p>Your message has been sent!</p>';
            } else { 
                echo '<p>Something went wrong, go back and try again!</p>'; 
            } 
        } else if ($_POST['submit'] && $human != '4') {
            echo '<p> 1+1=2!! </p>';
        }
    } else {
        echo '<p>You need to fill everything!!</p>';
    }
} 
?>

$from='from:Wirral PT Enquiry'应包含“发件人”电子邮件地址,而不仅仅是名称:

 $from = 'From: Wirral PT Enquiry <enquiry@wirralpt.co.uk>'; 
$from='from:Wirral PT Enquiry';
试试看?

试试使用

$headers = "Reply To :enquiry@wirralpt.co.uk";
可能对你有用

而且

$headers = "From :enquiry@wirralpt.co.uk";

使用相关电子邮件ID尝试这两种方法将标题更改为:

$headers = 'From: enquiry@wirralpt.co.uk' . "\r\n" .
    'Reply-To: enquiry@wirralpt.co.uk' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();
您的邮件应该如下所示:

mail ($to, $subject, $body, $headers)

如果对PhpMailer使用SMTP设置时,$mail->IsSMTP();丢失

取决于SMTP服务器,
From:
标题应包含电子邮件,例如:
From:Wirral PT Enquiry
。您至少应该从以下位置尝试
:something@somewhere.com
并查看SMTP服务器是否以某种方式覆盖了您的
发件人:
邮件头。我认为该电子邮件地址被编辑器吞没,认为它是一个标记已修复:),但下面的答案更为完整。问题是邮件头未被使用-更新$From,应该更新工作