Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    617

    PHPMailer, inviare 2 mail diverse consecutivamente!

    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!

  2. #2
    Nella funzione send_mail includi class.smtp.php, quindi la seconda volta che chiami send_mail ti darà un errore tipo: Fatal error: Cannot redeclare class SMTP .
    Alla luce di ciò, o includi questo file una sola volta oppure utilizzi include_once.
    Farei presente che tale inclusione è comunque inutile, in quanto viene già fatta dalla classe phpmailer.
    CODENCODE \ Branding \ Design \ Marketing
    www.codencode.it

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    617
    Grazie, si effettivamente c'era quell'include di troppo, appena tolto è andato bene !

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.