【问题标题】:A php mail function regarding the additional parameters for headers关于标头附加参数的 php 邮件功能
【发布时间】:2013-04-01 11:55:52
【问题描述】:

我正在使用 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,那么邮件将被发送.

【问题讨论】:

    标签: php


    【解决方案1】:

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

    "$name = " 'a name' email@whatever.com> "
    $headers = "发件人:$from \r\n";

    在我的服务器上工作。将前导

    【讨论】:

    • $name = "name &lt;name@example.org&gt;"; - RFC2822
    猜你喜欢
    • 2012-12-25
    • 2011-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-07
    • 2012-05-23
    • 2014-04-05
    • 2023-03-10
    相关资源
    最近更新 更多