user1936192
user1936192

Reputation: 345

php mail bcc multiple recipients

How do I make a bcc mail? If I send that mail, It shows me all the recipients!

$to=array();
$members_query = mysql_query("select email from members");
while( $row = mysql_fetch_array($members_query) )
{
    array_push($to, $row['email']);
}

// To send HTML mail, the Content-type header must be set
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";

// Additional headers
//$headers .= 'To: '.$newName.' <'.$newEmail.'>' . "\r\n";
$headers .= 'From: SmsGratisan.com <[email protected]' . "\r\n";


mail(implode(',', $to), $title, $content, $headers);

Thanks!

Upvotes: 23

Views: 56854

Answers (4)

Mike Mackintosh
Mike Mackintosh

Reputation: 14237

Set your mail to field to null, and then implode your $to array in your headers

$headers .= 'From: SmsGratisan.com <[email protected]>' . "\r\n";
$headers .= 'BCC: '. implode(",", $to) . "\r\n";


mail(null, $title, $content, $headers);

Upvotes: 35

Ankit K Patel
Ankit K Patel

Reputation: 1

Please use pass Just Array instead of doing any kind of Implode, Set quotes, comma etc.

Example:

    $bcc = array();

    foreach ($users as $user) 
    {
        $bcc[] = $user['User']['email'];
    }   

And pass This To Mail Function:

        $email->from($from)
//            ->to($from)
              ->bcc($bcc)

Thanks, Ankit Patel

Upvotes: -3

Dev Guy
Dev Guy

Reputation: 520

$headers .= 'Bcc: [email protected]' . "\r\n";

Upvotes: 0

dethtron5000
dethtron5000

Reputation: 10841

CC and BCC can be sent as headers (see: http://php.net/manual/en/function.mail.php).

You can also use other mail libraries - the PEAR Mail library makes sending emails a little more object-oriented. http://pear.php.net/package/Mail/redirected

Upvotes: -2

Related Questions