Come inviare due mail diverse con phpmailer

  • Creatore Discussione Creatore Discussione migo80
  • Data di inizio Data di inizio

migo80

Utente Attivo
25 Apr 2013
243
3
18
Salve, vorrei capire come inviare due mail differenti con la classe phpmailer.
di seguito un esempio del mio script:

PHP:
<?php

	require_once('class.phpmailer.php');
	include("class.smtp.php");
$mail             = new PHPMailer();



$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host       = "smtp.*****.com"; // SMTP server
//$mail->SMTPDebug  = 2;                     // enables SMTP debug information (for testing)
                                           // 1 = errors and messages
                                           // 2 = messages only
$mail->SMTPAuth   = true;                  // enable SMTP authentication
$mail->Host       = "smtp.*****.com"; // sets the SMTP server
$mail->Port       = 25;                    // set the SMTP port for the GMAIL server
$mail->Username   = "********"; // SMTP account username
$mail->Password   = "******";        // SMTP account password

$mail->From     = $_POST['mail'];
$mail->FromName = $_POST['mail'];
$mail->Subject    ="Richiesta Informazione su".' '.$_POST['ask'];
$body             = "<html>
						<head>
							<meta charset='utf-8' />
						</head>
						<body>
							<h1>Hai ricevuto una richietsa d'informazioni riguardo:</h1>
							<ul style='list-style:none;'>
								<li><h3><strong>".$_POST['ask']."</strong></h3></li>
								<br>
								<li><h2>Ulteriori Info: <strong>".$_POST['info']."</strong></h2></li>
								<br>
								<li><h2>Nome: <strong>".$_POST['nome']."</strong></h2></li>
								<br>
								<li><h2>Cognome: <strong>".$_POST['cognome']."</strong></h2></li>
								<br>
								<li><h2>Mail: <strong>".$_POST['mail']."</strong></h2></li>
							</ul>
						</body>
						</html>";


$mail->AltBody    = "Hai ricevuto una richietsa d'informazioni riguardo:
							<ul style='list-style:none;'>
								<li><h3><strong>".$_POST['ask']."</strong></h3></li>
								<br>
								<li><h2>Ulteriori Info: <strong>".$_POST['info']."</strong></h2></li>
								<br>
								<li><h2>Nome: <strong>".$_POST['nome']."</strong></h2></li>
								<br>
								<li><h2>Cognome: <strong>".$_POST['cognome']."</strong></h2></li>
								<br>
								<li><h2>Mail: <strong>".$_POST['mail']."</strong></h2></li>
							</ul>"; // optional, comment out and test

$mail->MsgHTML($body);

$address = "*****@*****.it";
$mail->AddAddress($address, ''.$_POST['nome'].'');


if(!$mail->Send()) {
  echo "<div class='alert alert-danger'>Errore invio mail: " . $mail->ErrorInfo."</div>";
} else {
  echo "<div class='alert alert-success'>Mail inviata Correttamente. Riceverai a breve una mail di riepilogo!</div>";
}



?>

Così riesco ad inviare la mail a me, como posso far inviare anche una mail di conferma all'utente ?
 
puoi usare la copia nascosta, l'utente che riceve la mail non vede l'indirizzo del secondo utente,
PHP:
$mail->AddAddress($_POST['mail']);			// mail x utente

$mail->AddBCC($address, ''.$_POST['nome'].'');		// copia conoscenza nascosta
sufficiente ?
 
e per inviare anche un messaggio in formato html differente dal messaggio che invio all' utente?
 
imposti il primo messaggio e lo invii

pulisci la lista dei destinatari
PHP:
$mail->ClearAllRecipients( );

imposti il secondo messaggio e lo invii
 
ti mando l'esempio completo, lascio a te adattare i nomi delle variabili
ciao
PHP:
// ----- richiama la classe e imposta i parametri di debug
  require_once 'PHPMailer/PHPMailerAutoload.php';

  $mail = new PHPMailer();

  $mail->SMTPDebug = 4;			// attiva log dell'invio, ELIMINARE quando si mette in "produzione"
  $mail->Debugoutput = "html";		// visualizza il dialogo SMTP, SOSTITUIRE quando si mette in "produzione"
  // $mail->Debugoutput = "error_log";	// scrive messaggi di errore nel log di PHP, si può lasciare sempre

// ----- impostazione del servizio
  $mail->IsSMTP();

  $mail->Host       = $eM_Host;
  $mail->Port       = $eM_Port;
  $mail->SMTPAuth   = $eM_Auth;
  $mail->SMTPSecure = $eM_Secure;
  $mail->Username   = $eM_username;	// titolare registrato dell'account
  $mail->Password   = $eM_password;

// ----- impostazione del mittente ed eventuale ReplyTo
  $mail->Setfrom($eM_username, "Mailer");

  if(!empty($eM_ReplyTo)) $mail->AddReplyTo($eM_ReplyTo, $eM_ReplyToName);

// ----- impostazione dei destinatari
  $mail->AddAddress($eM_TO1, $eM_TOname1);				// destinatario 1
  if(!empty($eM_TO2))  $mail->AddAddress($eM_TO2, $eM_TOname2);		// destinatario 2 (vedi seconda mail)
  if(!empty($eM_CC1))  $mail->AddCC($eM_CC1, $eM_CCname1);		// copia conoscenza
  if(!empty($eM_BCC1)) $mail->AddBCC($eM_BCC1, $eM_BCCname1);		// copia conoscenza nascosta

// ----- impostazione del messaggio
  $mail->WordWrap = 50;		// set word wrap
  $mail->IsHTML(true);		// send as HTML

  $mail->Subject = $eM_subject." ".date('d-m-Y H:i:s');
  $mail->Body    = Body_version_1();
  $mail->AltBody = AltBody_version_1();

// ----- include l'allegato
  if(!empty($Allegato)) $mail->AddAttachment($Allegato);
  // $mail->AddAttachment("/path/to/file.zip");
  // $mail->AddAttachment("/path/to/image.jpg", "new.jpg");

// ----- invio della mail
  if($mail->Send()) print "<b>MESSAGGIO INVIATO</b>";
  else              print "<b>ERRORE : MESSAGGIO NON INVIATO</b> - " . $mail->ErrorInfo;
  print "<br /> <br />";

// ----- invio della mail modificata ad un secondo indirizzo
  $mail->ClearAllRecipients( );

  $mail->AddAddress($eM_TO2, $eM_TOname2);

  $mail->Body    = Body_version_2();
  $mail->AltBody = AltBody_version_2();

  if($mail->Send()) print "<b>MESSAGGIO INVIATO</b>";
  else              print "<b>ERRORE : MESSAGGIO NON INVIATO</b> - " . $mail->ErrorInfo;
  print "<br /> <br />";
 

Discussioni simili