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
44
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.046
150
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
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6
JeiMax Modifica codice php personalizzato PHP 2
G Come modificare un pdf in php PHP 1
U Link a doppio file PHP PHP 0
E PHP & jQuery PHP 8
N Passare array da php a javascript PHP 5
F Applicazione PHP/MySQL per prenotazioni: limitare il numero massimo di posti prenotabili PHP 20
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
U PHP creare un file excel dopo ricerca nel DB PHP 0
M PHP/MySQL - Estrarre valori min e max di ogni gruppo PHP 5
F Php e fatturazione elettronica PHP 0
P lanciare script asp (o php) da jquery Javascript 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
P Data scraping in PHP non funziona PHP 4
C Calcoli matematici in php PHP 5
F Scrivere dei dati in word con php PHP 0
D PHP leggere cartella di Windows PHP 1
I dominio aruba versione php server linux Domini 3
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
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

Discussioni simili