Advertisement
Guest User

Php 1

a guest
Jul 4th, 2015
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.46 KB | None | 0 0
  1. <?php  
  2. // Recupero il valore dei campi del form  
  3. $destinatario = $_POST['destinatario'];  
  4. $mittente = $_POST['mittente'];  
  5. $oggetto = $_POST['oggetto'];  
  6. $messaggio = $_POST['messaggio'];  
  7.  
  8. // Valorizzo le variabili relative all'allegato  
  9. $allegato = $_FILES['allegato']['tmp_name'];  
  10. $allegato_type = $_FILES['allegato']['type'];  
  11. $allegato_name = $_FILES['allegato']['name'];  
  12.  
  13. // Creo 2 variabili che riempirò più avanti...  
  14. $headers = "From: " . $mittente;  
  15. $msg = "";  
  16.  
  17. // Verifico se il file è stato caricato correttamente via HTTP  
  18. // In caso affermativo proseguo nel lavoro...  
  19. if (is_uploaded_file($allegato))  
  20. {  
  21.   // Apro e leggo il file allegato  
  22.   $file = fopen($allegato,'rb');  
  23.   $data = fread($file, filesize($allegato));  
  24.   fclose($file);  
  25.  
  26.   // Adatto il file al formato MIME base64 usando base64_encode  
  27.   $data = chunk_split(base64_encode($data));  
  28.  
  29.   // Genero il "separatore"  
  30.   // Serve per dividere, appunto, le varie parti del messaggio.  
  31.   // Nel nostro caso separerà la parte testuale dall'allegato  
  32.   $semi_rand = md5(time());  
  33.   $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";  
  34.    
  35.   // Aggiungo le intestazioni necessarie per l'allegato  
  36.   $headers .= "\nMIME-Version: 1.0\n";  
  37.   $headers .= "Content-Type: multipart/mixed;\n";  
  38.   $headers .= " boundary=\"{$mime_boundary}\"";  
  39.  
  40.   // Definisco il tipo di messaggio (MIME/multi-part)  
  41.   $msg .= "This is a multi-part message in MIME format.\n\n";  
  42.  
  43.   // Metto il separatore  
  44.   $msg .= "--{$mime_boundary}\n";  
  45.  
  46.   // Questa è la parte "testuale" del messaggio  
  47.   $msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";  
  48.   $msg .= "Content-Transfer-Encoding: 7bit\n\n";  
  49.   $msg .= $messaggio . "\n\n";  
  50.  
  51.   // Metto il separatore  
  52.   $msg .= "--{$mime_boundary}\n";  
  53.  
  54.   // Aggiungo l'allegato al messaggio  
  55.   $msg .= "Content-Disposition: attachment;\n";  
  56.   $msg .= " filename=\"{$allegato_name}\"\n";  
  57.   $msg .= "Content-Transfer-Encoding: base64\n\n";  
  58.   $msg .= $data . "\n\n";  
  59.  
  60.   // chiudo con il separatore  
  61.   $msg .= "--{$mime_boundary}--\n";  
  62. }  
  63. else  
  64. {  
  65.   $msg = $messaggio;  
  66. }  
  67.  
  68. // Invio la mail  
  69. if (mail($destinatario, $oggetto, $msg, $headers))  
  70. {  
  71.   echo "<center><p>Mail inviata con successo! Riceverai risposta al più presto. Attendi mentre tornerai all'Home Page.</p></center>";  
  72. }else{  
  73.   echo "<center><p>Errore: La Mail non è stata inviata!</p></center>";  
  74. }  
  75. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement