3

我有这个 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 正常工作吗?

4

1 回答 1

5

我假设您正在使用 Pear 类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.

于 2013-09-04T13:56:10.393 回答