Invio multiplo mail con phpmailer

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
Rieccomi, con un altro dubbio nella speranza di risolverlo in fretta, non dovrebbe essere complicato. Vengo al dunque. Sto ultimando l'invio di una seconda mail con phpmailer, lo uso da tempo e mi trovo bene ma stavolta non cpaisco cosa possa essere perchè il procedimento è corretto ma la seconda mail non me la invia. Premetto che è solo uno sfizio, quello di non usare il Bcc ma di creare una mail secondaria per il titolare del sito. Qua trovate il codice
PHP:
		//se tutto è OK da qua preparo l'invio della mail di conferma per l'avvenuta registrazione.
		include_once("class.phpmailer.php");
		$semi_rand = md5(time());
		$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
		$mail = new PHPmailer();
		$mail2 = new PHPMailer();
		$mail->CharSet = 'UTF-8';
		$mail->IsSMTP();
		$mail->isHTML(true);
		$mail->SMTPDebug = true;
		//Dati di collegamento al server che su aruba non servono
		$mail->SMTPAuth = true;
		$mail->Username = "username";
		$mail->Password = "Passowrd";

		//Preparo la mail in HTML
		$mailhtml = "<html><body style='background: #DCCE6D;'><head>
		<div style='width:100%; margin:0 auto; padding:20px 10px;'>
		<h1>Grazie!</h1><br>Ho ricevuto la tua richiesta<p>Qui di seguito troverai un resoconto di quello che mi hai scritto.
		Ti contatterò il prima possibile per definire i dettagli e magari per incontrarci.</p><br>Denis</div>
		<div style='padding:10px;'>
		Nome: ".$nome." <br>
		Telefono: ".$cell_1." -".$cell_2." <br>
		Richiesta: " .implode(", ",$richiesta)." <br>
		Testo: ".$testo." <br>
		Data Evento:".$dataevento." <br>
		Orario di Invio richiesta: " . $time . "<br>
		Indirizzo Ip di provenienza: " . $ip . " <br>
		Browser Utilizzato: " . $browser . " <br>
		</div>
		</head></body></html>";

		// Mail che riceverà  solo il cliente con la conferma della richesta fatta sul sito
		$mail->AddAddress ($email,$nome); //Mail che riceverà  il mittente per conoscenza
		$mail->From = ($denis); //Inserire la mail di Denis che apparirà  come mail del mittente
		$mail->FromName = ("Denis Live"); // Nome che apparirà  come Mittente al cliente
		$mail->AddReplyTo($denis , 'Denis Topino');
		//$mail->AddBCC ($alessio); //Mail inviata in copia non visibile anche al titolare del sito
		
		//Mail del Titolare
		$mail2html = "<html><body style='background: #DCC;'><head>
		<div style='width:100%; margin:0 auto; padding:20px 10px;'>
		<h1>Ma vieniiiii!</h1><br>Qualcuno mi ha scritto sul sito!<p>Vediamo chi era e che cosa voleva!.</p><br>Denis</div>
		<div style='padding:10px;'>
		<b>Nome</b>: ".$nome." <br>
		Telefono: ".$cell_1." -".$cell_2." <br>
		Richiesta: " .implode(", ",$richiesta)." <br>
		Testo: ".$testo." <br>
		Data Evento:".$dataevento." <br>
		Orario di Invio richiesta: " . $time . "<br>;
		Indirizzo Ip di provenienza: " . $ip . " <br>;
		Browser Utilizzato: " . $browser . " <br>;
		</div>
		</head></body></html>";
		
		
		//Mail in formato HTML
		$mail->Subject = ("Richiesta Informazioni dal sito Denis Live");
		$mail->Body = ($mailhtml); //Richiamo il testo inserito sopra come variabile
		// Messaggio in formato testo
		$mail->AltBody = "Se visualizzi questo messaggio vuol dire che il tuo programma diposta elettronica non riconosce la mail in HTML";
		$mail->AltBody .= 'Content-Type: text/plain; charset=\"utf-8\"\n';
		$mail->AltBody .= 'Content-Transfer-Encoding: 7bit\n\n';
		$mail->AltBody .= 'Messaggio in formato testo';
		$mail->AltBody .= 'Nome:' . "\n" . $nome . "\n\n" . "<br>" ;
		$mail->AltBody .= 'Telefono:' . "\n" . $cell_1 . "-" . $cell_2 . "\n\n" . "<br>" ;
		$mail->AltBody .= 'Richiesta:' .implode(", ",$richiesta). "\n\n" . "<br>";
		$mail->AltBody .= 'Testo:' . "\n" . $testo . "\n\n" . "<br>" ;
		$mail->AltBody .= 'Data Evento:' . "\n" . $dataevento . "\n\n" . "<br>" ;
		

		//Impostazioni x la Mail Inviata al titolare (Denis) per conoscenza
		$mail2->From = ($email);	// Mail del cliente
		$mail2->FromName = ($nome);	// Nome del cliente che apparirà a Denis o Alessio quando riceveranno la mail dal sito
		$mail2->AddAddress($alessio); //Mail che riceverà  il titolare del sito
		//$mail2->AddAddress($denis); //Mail che riceverà  il titolare del sito
		$mail2->Subject = ("Richiesta informazioni dal sito Denis Live");
		$mail2->Body = ($mail2html); //Mail inviata al titolare con alcune informazioni in più
		
		if (!$mail->Send()){
			//Messaggio che appare se clicco invio e tutti i campi sono vuoti
			echo '<div>
			<p><h3>C\'è stato un errore nell\'invio della mail</h3></p>
			Cortesemente riprova e se vedi che il problema persiste, contattami direttamente</div>'; //	Messaggio di errore invio mail
			echo "<meta http-equiv='Refresh' content='30; URL=contatti.php'>" . $mail->ErrorInfo;
		} else if (!$mail2->Send()){
			echo "<meta http-equiv='Refresh' content='30; URL=contatti.php'>";
			echo '<div>
			<p><h3>C\'è stato un errore nell\'invio della mail 2</h3></p>
			Cortesemente riprova e se vedi che il problema persiste, contattaci direttamente</div>' . $mail2->ErrorInfo;
		} else {
			print "<meta http-equiv=\"Refresh\" content=\"10; URL=ringraziamento.php\">";
			exit;
		}
	}

Secondo voi c'è qualcosa che non funziona?

Grazie a tutti
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
ciao, se usi else if è normale che se la prima va la seconda no
al cliente cosa interessa sapere se la tua mail è arrivata o meno?
io toglierei il controllo sulla mail al titolare
PHP:
$mail2->Send();

if (!$mail->Send()) {
    //Messaggio che appare se clicco invio e tutti i campi sono vuoti
    echo '<div>
            <p><h3>C\'è stato un errore nell\'invio della mail</h3></p>
            Cortesemente riprova e se vedi che il problema persiste, contattami direttamente</div>'; //    Messaggio di errore invio mail
    echo "<meta http-equiv='Refresh' content='30; URL=contatti.php'>" . $mail->ErrorInfo;
} else {
    print "<meta http-equiv=\"Refresh\" content=\"10; URL=ringraziamento.php\">";
    exit;
}
 

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
Grazie per la risposta.
In effetti al cliente non interessa se la mail al titolare è arrivata è che volevo creare due mail diverse con due testi diversi e fare un controllo anche su quella mail in quanto invio alcune informazioni ulteriori. Naturalmente con Bcc ma la mail è la stessa non ho problemi ma non ricevo la mail se la imposto come nuovo oggetto in phpmailer. Strano!

C'è modo di inviare una mail diversa inserendola come Bcc?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
prova a istanziare il tutto anche per mail2, es non vedo
PHP:
$mail2->isHTML(true);
poi, secondo me, togli
PHP:
$mail->IsSMTP();
come hai detto su aruba non serve

poi se vuoi mandare email come BCC
PHP:
$mail->AddBCC($altro_indirizzo);

p.s.
piccolo consiglio: se apri class.phpmailer.php con il tuo editor e la scorri capisci come usare le varie funzioni
 

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
Grazie borgo!
Non pensavo di dover istanziare anche la mail2.

Quanto a
PHP:
$mail->IsSMTP();
ora non sono suaruba ma in locale quindi per ora mi serve almeno credo.

Quanto alla classe phpmailer, ho provato ad aprirla e dare un okkio, ma sono alle prime armi quindi mi ci vuole un po di tempo. Hai consigli?

p.s FArò le modifiche poi vi aggiornerò.

Grazie
 
Discussioni simili
Autore Titolo Forum Risposte Data
cobra_72 [PHP] problema invio multiplo allegati mail PHP 21
G invio mail multiplo PHP 1
G form invio multiplo con checkbox PHP 12
Cosina Upload multiplo con invio allegati per email PHP 0
G Form invio multiplo da database PHP 0
F Invio multiplo [help] PHP 1
A invio form multiplo PHP 3
L invio multiplo e refresh pagina come evitare? PHP 3
M problema script invio email multiplo PHP 8
I Invio multiplo di form PHP 6
R Invio dai tessera sanitaria PHP 1
M telecamera Foscam - mancato invio mail ad account gmail IP Cam e Videosorveglianza 0
G Invio di più valori con la stessa checkbox PHP 4
M Invio dati database via email php PHP 0
K [php]form invio dati PHP 0
nivaria.achinet Intercettare form solo dopo invio Javascript 1
M Memorizzare i dati nei campi prima dell'invio al db PHP 4
M Unire 2 funzioni per l'invio di un form e con l'apertura di un div Javascript 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
M Form: come tornare ai campi già compilati dopo invio PHP 1
G Invio form con PHP PHP 3
M Invio di email PHP 0
A invio massivo dati a file php Javascript 4
P Funzione jQuery Ajax invio file a php jQuery 1
C Mailchimp ritardo invio newsletter subscribers Email Marketing 1
G creazione menu a tendina e invio a pagina php PHP 1
R Invio mail con allegati multipli PHP 0
R Invio mail con allegati da directory PHP 1
Cosina Invio messaggio a mailing list su file txt PHP 9
W Invio Dati ad un altra pagina Classic ASP 1
S Invio email da form PHP 8
psicomia Server e url per invio di file Server Dedicati e VPS 3
max1974 Invio email PHP 12
Daniele_Carrara Problema timeout - invio mail PHP 7
U PHP bottone per invio mail o ritorno al form PHP 15
G Invio mail con php da dati prelevati da un database PHP 9
L [PHP] Invio Immagini PHP 1
AC1 [PHP] Invio Mail PHP 18
I [PHP] Invio sms multipli PHP 4
S Consigli per invio di comunicati stampa Discussioni Varie 2
A [PHP] Invio automatico dati da form PHP 6
F Estrazione Email di persone selezionate e attive / facebook + invio di massa! Annunci servizi di Social Media Marketing 0
ANDREA20 [PHP] Modulo email invio PHP 5
Shyson [PHP] Codice iscrizione e invio avviso nuovi articoli PHP 3
Tommy03 Errore invio email con PHP PHP 1
B [PHP] Invio mail automatico dopo compilazione form - db PHP 25
Cosina [PHP] Preservare i campi del form solo se l'invio non ha successo PHP 5
A [PHP] errore 404 e invio mai path pagina con link interrotto PHP 2
A [PHP] Invio messaggio a tutti gli iscritti PHP 2
M [PHP] Problema script ricezione e invio posta... PHP 1

Discussioni simili