invio email con più di un allegato

mediasteno

Utente Attivo
25 Gen 2010
120
0
0
Salve ho necessità di modificare uno script per l'invio di email con più allegati. Io parto dal seguente script:
PHP:
.... 

                                $nomefile_tmp = $_FILES["allegato"]["tmp_name"];   //indirizzo dell'allegato
                                $tipoallegato = $_FILES["allegato"]["type"];       //tipo allegato
                                $nomeallegato = $_FILES["allegato"]["name"];       //nome dell'allegato

                                $ogg = stripslashes($_POST['oggetto']);

            $intestazioni = "From: $mittente\nReply-To: $reply\nX-Mailer: Sismail Web Email Interface\nMIME-version: 1.0\nContent-type: multipart/mixed;\n boundary=\"Message-Boundary\"\nContent-transfer-encoding: 7BIT\nX-attachments: $nomeallegato";
            
            $body_top = "--Message-Boundary\n";
            $body_top .= "Content-type: text/html; charset=iso-8859-1\n";  
            $body_top .= "Content-transfer-encoding: 7BIT\n";  
            $body_top .= "Content-description: Mail message body\n\n";  

            $msg_body = $body_top . $msg;
            
            $filez = fopen($nomefile_tmp, "r");
            $contents = fread($filez, filesize($nomefile_tmp));
            $encoded_attach = chunk_split(base64_encode($contents));  
            fclose($filez);  
            
            $msg_body .= "\n\n--Message-Boundary\n";  
            $msg_body .= "Content-type: $tipoallegato; name=\"$nomeallegato\"\n";
            $msg_body .= "Content-Transfer-Encoding: BASE64\n";  
            $msg_body .= "Content-disposition: attachment; filename=\"$nomeallegato\"\n\n";
            $msg_body .= "$encoded_attach\n";  
            $msg_body .= "--Message-Boundary--\n";                                 

                                  if(mail($destinatario,$ogg,$msg_body,$intestazioni))
                                  {
...
che mi permette di inviare un solo allegato. Ora ho cercato di modificarlo per consentirmi l'invio di più allegati ma non ho ottenuto il risultato sperato.
Se qualcuno può aiutarmi. Cosa esattamente devo andare a modificare?
 
Ho risolto il problema di inviare una email con più allegati utilizzando la classe phpmailer l'unica cosa che per recuperare gli allegati, li ho inseriti in una cartella indicando poi il percorso in questo modo:
$mail->AddAttachment("allegati/allegato1.doc");
$mail->AddAttachment("allegati/allegato2.doc");
Se però voglio recuperare gli allegati tramite un form come devo fare?
nel form ho:

HTML:
$nomefile_tmp01 = $_FILES["allegato01"]["tmp_name"];   //indirizzo dell'allegato
                                $tipoallegato01 = $_FILES["allegato01"]["type"];       //tipo allegato
                                $nomeallegato01 = $_FILES["allegato01"]["name"];       //nome dell'allegato
                                
                                $nomefile_tmp02 = $_FILES["allegato02"]["tmp_name"];   //indirizzo dell'allegato
                                $tipoallegato02 = $_FILES["allegato02"]["type"];       //tipo allegato
                                $nomeallegato02 = $_FILES["allegato02"]["name"];       //nome dell'allegato

ciò che mi blocca è come impostare il codice per il recupero dell'allegato.
 

Discussioni simili