Problema form mail per invio doppio allegato

  • Creatore Discussione Creatore Discussione billdog
  • Data di inizio Data di inizio

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

...
 
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
 

Discussioni simili