Jump to content

php email hiding addresses


russthebarber

Recommended Posts

Hello. When sending an email from my email client, I can send to a group for example named "mailing list". By doing this i can hide all the email addresses from my other mailing list members as the mail is sent to "mailing list" and not to a list of email addresses separated by commas. Does anybody know how to do this with PHP so when people receive a mail the addresses of all the other mailing list members are hidden? Thanks in advance. Here's the code i am using for PHP to send an HTML mail:

 

<?php

//define the receiver of the email

$to = 'youraddress@example.com';

//define the subject of the email

$subject = 'Test HTML email';

//create a boundary string. It must be unique

//so we use the MD5 algorithm to generate a random hash

$random_hash = md5(date('r', time()));

//define the headers we want passed. Note that they are separated with \r\n

$headers = "From: webmaster@example.com\r\nReply-To: webmaster@example.com";

//add boundary string and mime type specification

$headers .= "\r\nContent-Type: multipart/alternative; boundary=\"PHP-alt-".$random_hash."\"";

//define the body of the message.

ob_start(); //Turn on output buffering

?>

--PHP-alt-<?php echo $random_hash; ?> 

Content-Type: text/plain; charset="iso-8859-1"

Content-Transfer-Encoding: 7bit

 

Hello World!!!

This is simple text email message.

 

--PHP-alt-<?php echo $random_hash; ?> 

Content-Type: text/html; charset="iso-8859-1"

Content-Transfer-Encoding: 7bit

 

<h2>Hello World!</h2>

<p>This is something with <b>HTML</b> formatting.</p>

 

--PHP-alt-<?php echo $random_hash; ?>--

<?

//copy current buffer contents into $message variable and delete current output buffer

$message = ob_get_clean();

//send the email

$mail_sent = @mail( $to, $subject, $message, $headers );

//if the message is sent successfully print "Mail sent". Otherwise print "Mail failed"

echo $mail_sent ? "Mail sent" : "Mail failed";

?>

 

Link to comment
https://forums.phpfreaks.com/topic/177777-php-email-hiding-addresses/
Share on other sites

Two options spring to mind, either..

 

a.) store the e-mails in an array and loop through them.

 

$emails = array("exampl1@example.com", "example2@example.com", "example3@example.com");

foreach($emails as $email) {
   mail( $to, $subject, $message, $headers );
} 

b.) use blind carbon copy in the header of the e-mail

 

$headers .= "BCC: exampl1@example.com, example2@example.com, example3@example.com\r\n";

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.