头函数mail()php

时间:2012-07-23 10:27:23

标签: php email email-headers

我必须使用PHP的函数mail()发送邮件。 我必须插入Reply-To标题,但它不起作用:

<?php
    $body = "<html>\n";
    $body .= "<body style=\"font-family:Verdana, Verdana, Geneva, sans-serif; font-size:12px; color:#666666;\">\n";
    $body = $message;
    $body .= "</body>\n";
    $body .= "</html>\n";

    $headers  = "From: My site<noreply@example.com>\r\n";
    $headers .= "Reply-To: info@example.com\r\n";
    $headers .= "Return-Path: info@example.com\r\n";
    $headers .= "X-Mailer: Drupal\n";
    $headers .= 'MIME-Version: 1.0' . "\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

    return mail($recipient, $subject, $message, $headers); ?>

在这个php.net的例子中有$ headers。=“Reply-To:info@example.com \ r \ n”;但如果复制并粘贴此然后发送邮件回复 - 标题则没有。如果插入其他标题如From,CC,Bcc这些正确在我的HTML邮件中,只有Reply-To标题没有。 我尝试过“回复”,“回复”,“回复”,“回复”等但不起作用。 我用过PHP 5.4可以帮帮我吗?

1 个答案:

答案 0 :(得分:3)

试试这个。

为收件人,主题和消息添加参数。

然后在这一行     “返回邮件($ recipient,$ subject,$ message,$ headers);”

将$ message替换为$ body。

看起来像这样

<?php

$recipient = "jack@example.com";
$subject = "test subject";
$message = "test message";
$body = "<html>\n";
$body .= "<body style=\"font-family:Verdana, Verdana, Geneva, sans-serif; font-size:12px; color:#666666;\">\n";
$body = $message;
$body .= "</body>\n";
$body .= "</html>\n";

$headers  = "From: My site<noreply@example.com>\r\n";
$headers .= "Reply-To: info@example.com\r\n";
$headers .= "Return-Path: info@example.com\r\n";
$headers .= "X-Mailer: Drupal\n";
$headers .= 'MIME-Version: 1.0' . "\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

$result = mail($recipient, $subject, $body, $headers); 
var_dump($result);

?>

希望它会帮助你