首页 文章

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

提问于
浏览
0

我正在使用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

    $ name变量应该是完整的emailaddress:

    "$name = " 'a name' email@whatever.com>“
    $ headers = "From: $from \r\n";

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

相关问题