Ciao raga,
è da poco che uso phpmailer e devo dire che mi ci sono sempre trovato bene, mi toglie parecchie castagne dal fuoco.
Oggi però stò trovando difficoltà ad inviare 2 mail consegutivamente diverse tra loro.
Mi spiego. Ho creato lo script che invia le mail e l'ho infilato in una funzione
codice:
<?php
function send_mail($testo,$destinatario,$nome_completo,$oggetto,$rispondere){
require_once('class.phpmailer.php');
include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded
$mail = new PHPMailer;
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'mail.youngwriters.it'; // Specify main and backup server
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'noreplay@youngwriters.it'; // SMTP username
$mail->Password = 'napoli1926'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable encryption, 'ssl' also accepted
$mail->From = 'noreplay@youngwriters.it';
$mail->FromName = 'Young Writers';
foreach($destinatario as $dest){
$mail->addAddress($dest, $nome_completo); // Add a recipient
}
$mail->addReplyTo($rispondere, 'Information');
$mail->addCC('');
$mail->addBCC('');
$mail->WordWrap = 50; // Set word wrap to 50 characters
$mail->addAttachment(''); // Add attachments
$mail->addAttachment(''); // Optional name
$mail->isHTML(true);
$html_body = "<div style='height:35px;border-bottom:1px solid #ccc;width:100%;'>Header</div><p style='font-size:17px;color:#999;'>".nl2br($testo)."</p>"; // Set email format to HTML
$mail->Subject = $oggetto;
$mail->Body = $html_body;
$mail->AltBody = $testo;
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
exit;
}
}
?>
Come vedete eccetto i parametri da sostituire ho aggiunto solo un foreach per l'invio della stessa mail a più destinatari. Potete notare che quando richiamerò la funzione passerò delle variabili in modo da poter usare sempre la stessa funzione.
Di seguito ciò che invio alla funzione
codice:
$testo = "mail ad utente";
$destinatario = array($_GET['mail_user']);
$oggetto = "Registrazione";
$rispondere = "";
$nome_completo = $_GET['nome_user']." ".$_GET['cognome_user'];
send_mail($testo,$destinatario,$nome_completo,$oggetto,$rispondere);
$testo = "mail allo staff";
$destinatario = array("info@xxx.it");
$oggetto = "Nuovo Iscritto";
$rispondere = "";
$nome_completo = '';
send_mail($testo,$destinatario,$nome_completo,$oggetto,$rispondere);
In pratica vorrei che quando un utente si registra, venga inviata una mail all'utente stesso e un'altra allo staff. Sfortunatamente con l'esempio che vi ho mostrato parte solo la prima mail l'altra non parte mai!
Come risolvo?Cosa mi sfugge?
Grazie in anticipo!