Ответ 1
Вы пытались добавить несколько адресов "," отделены?
$headers['Cc'] = '[email protected], [email protected], [email protected]';
Это может работать, согласно строке 218 в источнике.
У меня есть проект, над которым я работаю, и использую Pear mailing. Мне нужно использовать smtp, потому что нам нужно отслеживать все с нашего почтового сервера. И пользователи должны иметь возможность войти в систему перед отправкой электронной почты компании. Мы не можем использовать функцию php mail для этого.
Моя проблема в том, что я не могу найти какую-либо документацию в сети для отправки CC и Bcc, а также для отправки нескольких BCC. Это очень легко сделать с php 'mail funciton. Все, что вы делаете, это добавить его к переменной заголовка $так:
$headers .= 'Cc: [email protected]' . "\r\n";
$headers .= 'Bcc: [email protected]' . "\r\n";
Это мой код для функции php, где я использую PEAR
function sender_mail($email,$subject,$mailmsg, $cc, $bcc){
include("Mail.php");
/* mail setup recipients, subject etc */
//DEFAULT VALUE OF FROM
$from = "[email protected]";
//GET EMAIL OF USER
$result = mysql_query("SELECT email, email_pass FROM u_perinfo WHERE user_id = '$_SESSION[uid]'")
or die("There was an error when grabbing your email information");
if(mysql_num_rows($result) > 0){
$row = mysql_fetch_array($result);
if($row[0] != ''){
$from = $row[0];
}
$email_pass = $row[1];
}
$recipients = "$email";
$headers["From"] = "$from";
$headers["To"] = "$email";
$headers["Subject"] = $subject;
$headers["Cc"] = "$cc"; //Line added by Me to see if it works
$headers["Bcc"] = "$bcc"; //Line added by Me to see if it works
//$mailmsg = "Welcome to Addatareference.com! \r\n\r\nBelow is your unique login information. \r\n\r\n(Please do not share your login information.)$accountinfo";
/* SMTP server name, port, user/passwd */
$smtpinfo["host"] = "smtp.emailsrvr.com";
$smtpinfo["port"] = "25";
$smtpinfo["auth"] = true;
$smtpinfo["username"] = "$from";
$smtpinfo["password"] = "$email_pass";
/* Create the mail object using the Mail::factory method */
$mail_object =& Mail::factory("smtp", $smtpinfo);
/* Ok send mail */
$mail_object->send($recipients, $headers, $mailmsg);
}
Я пытаюсь найти решение этого, без реальной информации, возвращающейся обратно. Если бы кто-то мог мне помочь, я был бы очень благодарен.
Вы пытались добавить несколько адресов "," отделены?
$headers['Cc'] = '[email protected], [email protected], [email protected]';
Это может работать, согласно строке 218 в источнике.
Существует проблема с Bcc, хотя при использовании функции PEAR Mail: Thunderbird отображает заголовок Bcc, поэтому получатель не скрыт, что является целым рядом Bcc. Он также отображается в списке заголовков To: (так как вам нужно включить список Bcc для получателей).
Изменить: SOLVED - я нашел с другого сайта, что решение состоит только в том, чтобы включить Bcc-список в $recipients, а не в любой из заголовков. Он работает!
Таким образом:
$bcc = "[email protected]";
$to = "[email protected]";
$headers = array(..other stuff.., 'To' => $to, ..rest of header stuff); // No Bcc header!
$recipients = $to.", ".$bcc;
$mail = $smtp->send($recipients, $headers, $message);
Изменить # 2: Признать мой источник - http://raamdev.com/2008/adding-cc-recipients-with-pear-mail/
Вам просто нужно добавить все в, cc, bcc в переменную $recipients. Заголовок решает, куда отправить.