PHP mailer invio form con 2 allegati.

piero60

Utente Attivo
26 Gen 2015
71
2
8
Buogiorno a tutti,
utilizzo un form per invio email dal sito web, lo script che allego è diviso in tre parti e funziona perfettamente per inviare un solo allegato.
L'esigenza è quella di inviare con la stessa email 2 allegati, come posso modificarlo? il tutto si basa sulla classe PHPmailer.

Allego i tre step attuali, in ordine: il form, il recupero delle variabili e la funzione di invio.
Nel form ho aggiunto la seconda voce uploadfile1.

FORM:
HTML:
<!DOCTYPE html>
<html dir="ltr" lang="en-US"><head>
    <meta charset="utf-8">
    <title>xxxxxxx</title>
    <meta name="viewport" content="initial-scale = 1.0, maximum-scale = 1.0, user-scalable = no, width = device-width">
</head>
<body>


<form action="mail2.php" enctype="multipart/form-data" method="POST">
<input name="numT" type="text" value="[email protected]" />
	<table>
      <tr>
      	<td>Mittente: </td>
     	 <td><input name="mitt" type="text" value="[email protected]" /></td>
      </tr>
      <tr>
     	 <td>Oggetto: </td>
     	 <td><input name="subj" type="text" /></td>
      </tr>
      <tr>
      	<td>Messaggio: </td>
      	<td><textarea name="msg"></textarea></td>
      </tr>	
      <tr>
     	 <td>Carica File</td>
     	 <td><input  name="uploadfile" type="file" />
     	 <td><input  name="uploadfile1" type="file" />		 		 
		 </td>
      </tr>
	</table>
 
	<input class="butt" type="submit" value="Invia!" />
</form>

</body></html>

RECUPERO DELLE VARIABILI:
PHP:
<? 
  require_once("class.phpmailer.php");
  include 'functions_contact.php';
 
 
  $msg = $_POST['msg'];
  $subj = $_POST['subj'];
  $from = $_POST['mitt'];
  $dest = $_POST['numT'];
  $doc = false;
  $tit = '';

  
  if(is_uploaded_file($_FILES['uploadfile']['tmp_name'])){
      if ($_FILES['uploadfile']['error'] == 0){
          echo "Upload terminato con successo: ";
          echo "Nome file: ".$_FILES['uploadfile']['name']."";
          echo "Dimensione file (kB): ".number_format((($_FILES['uploadfile']['size'])/8)/(1024), 2, '.', '')."";
          echo "Tipo MIME file: ".$_FILES['uploadfile']['type'];
      }else{
          if ($_FILES['uploadfile']['error'] == 2)		
              die("Errore, file troppo grande: il massimo consentito è 1MB");
          else
              die("Errore, impossibile caricare il file");	
      } 	
      echo '';
      $doc = file_get_contents($_FILES['uploadfile']['tmp_name']);
      $tit = $_FILES['uploadfile']['name'];	
  }else{
      $doc = false;
      $tit = '';
  }
     
  sendMail($dest, $msg, $subj, $mitt, $mitt, $doc, $tit);
  
?>

INVIO EMAIL:
PHP:
<? 
  function sendMail($dest, $msg, $subj, $from, $rep_to, $doc, $tit){
    
    $msg = utf8_decode($msg);
    $subj = utf8_decode($subj);
    
    $mail = new PHPmailer();
    $mail->From=$from;
    $mail->FromName='xxxxxxx';
    $mail->AddAddress($dest);
    $mail->AddReplyTo($rep_to); 
    $mail->Subject=$subj;
    $mail->Body=$msg;
    
    if($doc != false)
    	$mail->AddStringAttachment($doc, $tit, 'base64', 'application/octet-stream');
    
    if(!$mail->Send()){
    	echo "ERRORE: ".$mail->ErrorInfo; 
    }else{ 
    	echo 'Email inviata correttamente!';
    }
    
    unset($mail);
  }
?>
 

davide.arduini

Nuovo Utente
29 Gen 2016
6
0
0
42
Latina
www.davidearduini.it
Credo sia sufficiente fare due Attachment

PHP:
$mail->AddStringAttachment($doc1, $tit, 'base64', 'application/octet-stream');
$mail->AddStringAttachment($doc2, $tit, 'base64', 'application/octet-stream');

P.S. naturalmente prima di allegare anche il secondo va caricato come il precedente.
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
un particolare importante: quando fai caricare dei file controlla l'estenzione e fai caricare solo i files consentiti.
non credo che ti piacerebbe (scrivo per assurdo) che ti caricassero un bel cancella_tutto_il_disco.exe
 
Discussioni simili
Autore Titolo Forum Risposte Data
A php mailer con outlook e gmail PHP 12
L Problema php mailer e smtp gmail PHP 20
F inviare una mail con php mailer PHP 3
A php mailer PHP 1
emanuelevt problmea php mailer PHP 19
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
F Ricreare struttura php+mysql su Xampp Apache 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
M Array associativi php su 2 campi mysql PHP 10
G Invio form con PHP PHP 3
T fatture con voci fattura in php PHP 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
M Collegamento tra form html e script php PHP 4
M Problemi con la stampa dei valori in php PHP 1
W [Cerco collaborazioni] Sviluppatore Web (PHP) Offerte e Richieste di Lavoro e/o Collaborazione 1
D passare valori da database sql a php PHP 1
L Ricezione dei dati su file php da modulo html PHP 6
E Inviare variabile a PHP da ciclo in JS Javascript 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
F menù select dinamico da db in php PHP 3
L Problemi form Pagina php HTML e CSS 3
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
F Il codice php è giusto? PHP 2
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
A invio massivo dati a file php Javascript 4
Z MySql injection PHP PHP 1
V PHP form intersecate PHP 0
I [Offro][Retribuito] Programmatore Php Offerte e Richieste di Lavoro e/o Collaborazione 0
P Funzione jQuery Ajax invio file a php jQuery 1
C Dopo chiusura del tag php la stringa html va a capo PHP 1
E Transaction php PHP 11
B ciclare file xml con PHP PHP 1
L Estrazione dati php Database 6
A Aiuto per pagina php PHP 0
E Php select option e ajax PHP 23
I Aiuto php Dependent Lookup PHP 0
T arretramento versione PHP... PHP 3
D problema php mysql PHP 1
D problema php mysql PHP 1
E Barra di avanzamento codice PHP PHP 4
G creazione menu a tendina e invio a pagina php PHP 1
A inserire variabile php colore in div html PHP 2
Z Video protetto con PHP PHP 0
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
I Eecuzione di javascript in ciclo foreach php. PHP 7
S Libreria PHP per creare file dwg o dxf PHP 0

Discussioni simili