PHP 邮件添加 CC


PHP Mail adding CC

我有这个PHP邮件函数:

if(!function_exists("sendemail"))
{
    function sendemail($email_to,$email_from,$email_subject,$email_body,$email_replyto)
    {
        if(filter_var($email_to, FILTER_VALIDATE_EMAIL))
        {
            require_once "/usr/local/lib/php/Mail.php";
            $from = $email_from;
            $to = $email_to;
            $subject = $email_subject;
            $body = $email_body;
            $host = "mail.domain.co.uk";
            $username = "sending@domain.co.uk";
            $password = "*******";
            $headers = array ('From' => $from,
              'To' => $to,
              'Subject' => $subject,
              'Content-type' => 'text/html');
            $smtp = Mail::factory('smtp',
              array ('host' => $host,
             'auth' => true,
             'username' => $username,
             'password' => $password));
            $mail = $smtp->send($to, $headers, $body, $cc);
        }
    }
}

我添加了抄送电子邮件地址的功能:

if(!function_exists("sendemail"))
{
    function sendemail($email_to,$email_from,$email_subject,$email_body,$email_replyto,$cc)
    {
        if(filter_var($email_to, FILTER_VALIDATE_EMAIL))
        {
            require_once "/usr/local/lib/php/Mail.php";
            $from = $email_from;
            $to = $email_to;
            $subject = $email_subject;
            $body = $email_body;
            $host = "mail.domain.co.uk";
            $username = "sending@domain.co.uk";
            $password = "*******";
            $headers = array ('From' => $from,
              'To' => $to,
              'Cc' => $cc,
              'Subject' => $subject,
              'Content-type' => 'text/html');
            $smtp = Mail::factory('smtp',
              array ('host' => $host,
             'auth' => true,
             'username' => $username,
             'password' => $password));
            $mail = $smtp->send($to, $headers, $body, $cc);
        }
    }
}

但它似乎只将抄送电子邮件地址添加到标题中,而不是发送电子邮件。 它仅将电子邮件发送到 $email_To 变量中的地址

任何想法如何让 CC 工作?

我假设你使用的是梨类Mail,如果不是忽略的话。

根据这个(http://pear.php.net/manual/en/package.mail.mail.send.php#2073),您需要在receipientsheaders中拥有要抄送的电子邮件地址。我个人从未使用过这段代码,所以我无法证明它是否有效。

这是另一个链接说同样的事情:http://raamdev.com/2008/adding-cc-recipients-with-pear-mail/

从链接中提取:

$to = 'to@example.com';
$cc = 'cc@example.com';
$recipients = $to.", ".$cc;
$headers['From']    = 'from@example.com';
$headers['To']      = $to;
$headers['Subject'] = 'Test message';
$headers['Cc']      = 'cc@example.com';
$headers['Reply-To'] = 'from@example.com';
$send = $mail->send($recipients, $headers, $body);

此外,以防万一您需要根据密件抄送的链接使用它,您只需在$recipients中添加一个电子邮件地址,不要将其添加到$headers