关于标题的附加参数的php邮件功能

时间:2013-04-09 20:56:09

标签: php

我正在使用dreamhost进行邮寄。 我有一个php邮件功能附加标头参数的问题。 此代码有效,电子邮件已发送:

$to = 'myemail@gmail.com';
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$headers = "From: $name <**webmaster@example.com**>\r\n" .
    "Reply-To: $name <**webmaster@example.com**>\r\n" .
    'X-Mailer: PHP/' . phpversion();
mail($to, $subject, $message, $headers);

但是当我将webmaster@example.com替换为变量$ email

$headers = "From: $name <**$email**>\r\n" .
    "Reply-To: $name <**$email**>\r\n" .
    'X-Mailer: PHP/' . phpversion();

电子邮件无法发送。我做了一个print_r($ _ POST),元素就在那里。我还做了另一个测试,在那里我输入了电子邮件:webmaster@example.com到表单中,看它是否会发送,它确实发送了。所以我的问题是,如何解决这个问题,如果用户将其电子邮件地址键入带有其他邮件扩展名的表单,该邮件将不会被发送,但如果扩展名为@ example.com,则邮件将被发送。

1 个答案:

答案 0 :(得分:0)

$ name变量应该是完整的电子邮件地址:

“$ name =”'名称'email@whatever.com> “
   $ headers =“From:$ from \ r \ n”;

适用于我的服务器。添加前导&lt;到电子邮件地址。如果我包含它,该系统根本不会显示该字符串。如果您的表单对响应者nam和电子邮件地址有不同的变量,则必须将它们连接起来才能在正确的格式中获得$ name。

相关问题