2010-08-27 2 views
16

Как включить поле CC в эту функцию?PHP Mail, поле CC

function mail_attachment($filename, $path, $mailto, $from_mail, $from_name, $replyto, $subject, $message) { 
    $file = $path.$filename; 
    $file_size = filesize($file); 
    $handle = fopen($file, "r"); 
    $content = fread($handle, $file_size); 
    fclose($handle); 
    $content = chunk_split(base64_encode($content)); 
    $uid = md5(uniqid(time())); 
    $name = basename($file); 
    $header = "From: ".$from_name." <".$from_mail.">\r\n"; 
    $header .= "Reply-To: ".$replyto."\r\n"; 
    $header .= "MIME-Version: 1.0\r\n"; 
    $header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n"; 
    $header .= "This is a multi-part message in MIME format.\r\n"; 
    $header .= "--".$uid."\r\n"; 
    $header .= "Content-Type: text/html; charset=iso-8859-1\n"; 
    $header .= "Content-Transfer-Encoding: 7bit\r\n\r\n"; 
    $header .= $message."\r\n\r\n"; 
    $header .= "--".$uid."\r\n"; 
    $header .= "Content-Type: application/octet-stream; name=\"".$filename."\"\r\n"; // use different content types here 
    $header .= "Content-Transfer-Encoding: base64\r\n"; 
    $header .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n"; 
    $header .= $content."\r\n\r\n"; 
    $header .= "--".$uid."--"; 
    if (mail($mailto, $subject, "", $header)) { 
     echo "OK"; // or use booleans here 
    } else { 
     echo "ERROR!"; 
    } 
} 
+1

Либо один из ответов будет делать ... Вы рассмотрели с использованием библиотеки (PHPMailer, SwiftMailer, груша :: почты, и т.д ...), чтобы сделать ваш жизнь проще? – jasonbar

ответ

4

Пожалуйста, не создавать свои собственные MIME сообщения электронной почты. Вместо этого используйте что-то вроде PHPMailer. Гораздо проще в использовании и менее хрупкой. Добавление CC с этим же просто, как:

$mail = new PHPMailer(); 
$mail->AddCC('[email protected]'); 
Смежные вопросы