Recently we came across a reason to make a multi email-er without using email-er software. Not a big issue.
Just thought that this might be a common issue people come across so I would post a how to.
1. PUT ALL THE EMAIL ADDRESS'S IN AN ARRAY THIS CAN ALSO COME FROM AN SQL DATABASE OR A TEXT/XML FILE EX...
$setEmailArray = array("info@yourdomain.com.au", "info@hisdomain.com", "info@herdomain.net");
2. LOOP THROUGH THE EMAIL ARRAY
for($i = 0; $i < count($setEmailArray); $i++){
}
3. SET THE MESSAGE IN HTML FORMAT
$message = <<<EOF
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Ready made template for you!</title>
<!--ADD SOME STYLE -->
<style type="text/css">
<!--
p, span {
font-family:Arial, Helvetica, sans-serif;
font-size:12px;
}
-->
</style>
</head>
<body>
<div id="container">
<p><strong>THIS IS A TEST EMAIL MESSAGE!</strong></p>
</div>
</body>
</html>
EOF;
/* END OF MESSAGE */
4. THIS EMAIL IS THE SENDER EMAIL ADDRESS
$from = "your-email@your-domain.com";
5. SET A SUBJECT OF YOUR CHOICE
$subject = 'THIS IS A SUBJECT';
6. SET UP THE EMAIL HEADERS
$headers = "From: $from\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
7. IN-CASE SOMEONE HAS TWO EMAIL ACCOUNTS SETUP ON THE SAME COMPUTER SOME EMAIL PROGRAMS LIKE OUTLOOK WILL ONLY SHOW ONE EMAIL AND DISCARD THE OTHER(S) SO WE GIVE THE (Message-ID:) A RANDOM NUMBER
$headers .= "Message-ID: <".time().rand(1,1000)."@".$_SERVER['SERVER_NAME'].">". "\r\n";
8. LETS PUT IT ALL TOGETHER AND SEND THE EMAIL
mail($setEmailArray[$i], $subject, $message, $headers);
9. (OPTIONAL) -> PRINT ALL THE EMAIL ADDRESS'S
echo '<p>EMAIL SENT TO : '.$setEmailArray[$i].'<BR /><p>';
9.a) AND THEN CLOSE THE LOOP
}
10. FINALLY PRINT THE MESSAGE
echo $message;
?>
For the final code, Just copy and paste the code below and adjust the fields to suit your needs.