Problema form mail per invio doppio allegato

billdog

Nuovo Utente
25 Ott 2014
3
0
0
Ciao a tutti,
utilizzo da tempo un form mail php con allegato che non mi ha mai dato problemi. Ora, avendo bisogno di inserirgli lapossibilità di inviare anche un secondo allegato mi sono letteralmente incartato. Colpa del non cimentarmi più con php da anni, per essermi adagiato all'utilizzo dei cms peri miei siti...

Qualche dritta per modificare lo script php perchè gestisca due diversi allegati nella stessa mail?

Grazie

Qui lo spezzone di codice php che funziona egregiamente per l'invio di mail con un solo allegato

PHP:
...

// ALLEGATO
$allegato = $_FILES['allegato']['tmp_name'];
$allegato_type = $_FILES['allegato']['type'];
$allegato_name = $_FILES['allegato']['name'];

// VARIABILI
$headers = "From: " . $mittente;
$msg = "";

// VERIFICA CARICAMENTO ALLEGATO
if (is_uploaded_file($allegato))
{
  // LETTURA ALLEGATO
  $file = fopen($allegato,'rb');
  $data = fread($file, filesize($allegato));
  fclose($file);

  // ADATTAMENTO
  $data = chunk_split(base64_encode($data));

  // SEPARATORE
  $semi_rand = md5(time());
  $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
  
  // INTESTAZIONI ALLEGATO
  $headers .= "\nMIME-Version: 1.0\n";
  $headers .= "Content-Type: multipart/mixed;\n";
  $headers .= " boundary=\"{$mime_boundary}\"";

  // TIPO
  $msg .= "This is a multi-part message in MIME format.\n\n";

  // SEPARATORE
  $msg .= "--{$mime_boundary}\n";

  // TESTO MSG
  $msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
  $msg .= "Content-Transfer-Encoding: 7bit\n\n";
  $msg .= $nome . " ";
  $msg .= $cognome . " | Username: ";
  $msg .= $username . "\n\n";

  // SEPARATORE
  $msg .= "--{$mime_boundary}\n";

  // INSERISCO ALLEGATO
  $msg .= "Content-Disposition: attachment;\n";
  $msg .= " filename=\"{$allegato_name}\"\n";
  $msg .= "Content-Transfer-Encoding: base64\n\n";
  $msg .= $data . "\n\n";

  // SEPARATORE
  $msg .= "--{$mime_boundary}--\n";
} // END

...
 

marino51

Utente Attivo
28 Feb 2013
2.903
160
63
Lombardia
nessuno ha risposto, perché ciò che chiedi è "un'impresa"
spero avrai già risolto con PHPmailer ... semplice e veloce da implementare
e poi qualche volta bisogna ... rinnovare, modernizzarsi
ciao
Marino