我的php电子邮件正在发送anonymous@foo.com

我的php电子邮件正在发送anonymous@foo.com,php,email,Php,Email,我确信我在这里遗漏了一些非常简单的东西,但我似乎无法找出我的php电子邮件功能有什么问题。任何帮助都将不胜感激 $to = "mz@foo.com"; $from = "mr@foo.com"; $subject = "test"; $message = "This email was registered at ". $users_email; $message .= " on ".date('l jS \o\n F Y h:i:s A');

我确信我在这里遗漏了一些非常简单的东西,但我似乎无法找出我的php电子邮件功能有什么问题。任何帮助都将不胜感激

    $to = "mz@foo.com";
        $from = "mr@foo.com";
    $subject = "test";
    $message = "This email was registered at ". $users_email;
    $message .= " on ".date('l jS \o\n F Y h:i:s A');
            $headers = "";
            $headers = 'Content-Type: text/plain\r\n';
            $headers .= "From: $from \r\n";
            $headers .= "Reply-To: $from\r\n";
            $headers .= 'X-Mailer: PHP/' . phpversion();

            mail($to, $subject, $message, $headers);

这是一个表单,要求用户只需询问他们的电子邮件地址。然后,它使用该选项,使用变量集重新加载页面,并设置电子邮件。我没有在这里进行验证,但是我有一个验证函数。它发送电子邮件,但总是说电子邮件是从anonymous@foo.com. 我在这里缺少什么吗?

尝试添加返回路径:$from\r\n


Shai.

我的标题设置方式略有不同;试试这个:

$headers = "From: $from \r\n" .
"Reply-To: $from \r\n" .
'X-Mailer: PHP/' . phpversion();

这对我有用,希望对我有帮助

您从哪个SMTP服务器发送?如果是通过GMail,他们会非常坚决地要求通过SMTP发送电子邮件,并将发件人地址设置为您过去发送的电子邮件的发件人地址


据我所知,没有真正的解决方法。

这可能是我的php.ini文件中的内容吗?您是否尝试添加此标题?它没有起作用?它应该会起作用。