Bonsoir,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>';
Elle roule super bien.

Maintenant, je souhaite l'améliorer.
1. Je souhaite passer l'objet $mail = new PHPMailer(true) en paramètre à la fonction ?
2. Certains paramètres sont des array, comment les forcer à être implicitement des array ?

Merci d'avance...