1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| function sendNewsletter($newsletter, $outputMsg = array()) {
require dirname(__FILE__) . '/' . $newsletter['PHPMailerDir'] . 'PHPMailerAutoload.php';
$mail = new PHPMailer(true);
try {
$mail->CharSet = $newsletter['CharSet'];
$mail->setFrom($newsletter['setFrom']['email'], $newsletter['setFrom']['name']);
$mail->addReplyTo($newsletter['addReplyTo']['email'], $newsletter['addReplyTo']['name']);
$mail->Subject = $newsletter['Subject'];
$mail->AltBody = file_get_contents(dirname(__FILE__) . $newsletter['AltBody']);
$mail->msgHTML(file_get_contents($newsletter['msgHTML']), dirname(__FILE__));
$mail->addAttachment($newsletter['addAttachment']);
foreach ($newsletter['contacts'] as $email) {
$mail->addAddress($email);
$mail->send();
// Clear all addresses and attachments for next loop
$mail->clearAddresses();
//$mail->clearAttachments();
}
$outputMsg['send'] = true;
} catch (phpmailerException $e) {
$outputMsg['exception'][] = $e->errorMessage();
} catch (Exception $e) {
$outputMsg['exception'][] = $e->getMessage();
}
return $outputMsg;
}
$newsletter = array(
'contacts' => $arrayContacts['true']['true'],
'PHPMailerDir' => 'lib/PHPMailer/',
'CharSet' => 'UTF-8',
'setFrom' => array('email'=>'webmaster@cmtest.info', 'name'=>'Webmaster'),
'addReplyTo' => array('email'=>'webmaster@cmtest.info', 'name'=>'Webmaster'),
'Subject' => 'PHPMailer mail test',
'msgHTML' => 'contents.html',
'AltBody' => '/contents.txt',
'addAttachment' => 'images/phpmailer_mini.png',
);
$result = sendNewsletter($newsletter);
echo '<pre>';
print_r($result);
echo '</pre>'; |
Partager