Newsgroup: it.comp.www.php
Titolo: Problemi ad allegare una jpg ad un semplice form per invio mail

sto cercando di allegare un file jpg ad un semplicissimo (e ancora rudimetale)
form per l'invio di mail.
Il problema č che quando ricevo la mail, l'immagine seppur mantiene la
dimensione perde tutti i colori e diventa praticamente arcobaleno..
Potreste aiutarmi
ecco il codice (ci sono ancora alcuni if che devo sistemare ma il codice
funziona..)
<html><head><title>Send mail with attach</title><meta
http-equiv="Content-Type" content="text/html;
charset=iso-8859-1"></head><body bgcolor="#D2D2D2" leftmargin="3"
topmargin="3" marginwidth="0" marginheight="0" text="#000000"><??> <font
face="Arial, Helvetica, sans-serif" size="2"><br><?if ($op=="invio") {
$error=0;	$error_file="";	if ($error==1 || $error_file!="") {
	} else {		$emailto="
MAIL_DOVE_RI...@mail.it
"; // INERIRE L'EMAIL
QUI!!		$data=date("j/m/Y");		$ora=date("h:i:s");				$headers =
"MIME-Version: 1.0\n";		$headers .= "Content-Type: multipart/mixed;
boundary=\"XX-1234DED00099A\"\n";		$headers .= "Content-Transfer-Encoding:
7bit\n";		$headers .= "From: $email\n";		
$messaggio="--XX-1234DED00099A\n";		$messaggio.="Content-Type: text/plain;
charset=iso-8859-1\n";		$messaggio.="Content-Transfer-Encoding: 7bit\n\r";
$messaggio.="Curriculum inviato il $data alle $ora\n\r\nDati inseriti\n";
$messaggio.="Nome: $nome\n\rCognome: $cognome\n";		if ($telefono!="")
$messaggio.="Telefono: $telefono\n";		$messaggio.="Email:
$email\nCommento:\n$commento\n";		$oggetto_send="Invio Curriculum";				
$messaggio.="--XX-1234DED00099A\n";		$messaggio.="Content-Type:
application/octet-stream; name=\"".$_FILES['thefile']['name']."\"\n"; 
$messaggio.="Content-Transfer-Encoding: base64\n";
$messaggio.="Content-Description: \"Nuovo File\"\n"; 
$messaggio.="Content-Disposition: attachment\n\r";				$fp=@fopen($thefile,
"r");		if ($fp) {			$data = fread($fp, filesize($thefile));			}		$curr =
base64_encode($data);		$curr = $data;		$messaggio .=
"$curr\n\r--XX-1234DED00099A--\n";		if (!mail($emailto, $oggetto_send,
$messaggio, $headers)) {			echo"<br><b>Attenzione.</b><br>Si sono verificati
degli errori durante l'invio della Email.<br>			Vi preghiamo di riprovare <a
href=\"javascript: history.back()\">cliccando qui.</a><br>			Se l'errore
persiste Vi invitamo a riprovare piů tardi. Grazie.";		}		else {
$messaggio_risposta="Grazie per averci contattato.\n\rIl vostro curriculum č
stato inoltrato al responsabile del personale.\n\r\n\rDati inseriti\n";
$messaggio_risposta.="Nome: $nome\n\rCognome: $cognome\n\r";			if
($telefono!="") $messaggio_risposta.="Telefono: $telefono\n\r";
$messaggio_risposta.="Commento:\n\r$commento\n\r\n\r";
$messaggio_risposta.="Distinti saluti,\n\r";			$oggetto2="Curriculum
inoltrato";			mail($email, $oggetto2, $messaggio_risposta,"From: NOME_SITO
<$emailto>");			echo "<br><b>Email inviata correttamente.</b><br>			<br>I
dati inseriti sono i seguenti:<br><br>";			echo"Nome:<b> $nome </b><br>
Cognome:<b> $cognome</b><br>";			if ($telefono!="") echo"Telefono:
<b>$telefono</b><br>";			echo"Email: <b>$email</b><br>Commento:<b>
".nl2br($commento)."</b><br>			<br><br>Grazie per averci contattato.";		}	}
} else {?>			<br><br>Form per invio curriculum<br><br>      <form
enctype="multipart/form-data" method="post" action="<?=$PHP_SELF?>"
name="contatti">        <table width="550" border="0" cellspacing="3"
cellpadding="0">          <tr>             <td>Nome *</td>            <td> 
             <input type="text" name="nome" size="30">            </td>
   </tr>          <tr>             <td>Cognome *</td>            <td> 
        <input type="text" name="cognome" size="30">            </td>
 </tr>          <tr>             <td>Telefono</td>            <td> 
     <input type="text" name="telefono" size="30">            </td>
</tr>          <tr>             <td>Email *</td>            <td> 
   <input type="text" name="email" size="30">            </td>
</tr>          <tr>             <td>Allega il tuo curriculum<br>(formato .jpg
- Max 1000 Kb) *</td>            <td>              <input type="hidden"
name="MAX_FILE_SIZE" value="1024000">               <input name="thefile"
type="file" SIZE="35">            </td>          </tr>          <tr> 
     <td>Commento *</td>            <td>               <textarea
name="commento" wrap="VIRTUAL" cols="30" rows="5"></textarea>
</td>          </tr>          <tr>             <td colspan="2">
 <div align="center">              	<input type="hidden" name="op"
value="invio">                <input type="submit" name="Submit"
value="Invia">                <input type="reset" name="Submit2"
value="Reimposta">              </div>            </td>          </tr>
  </table>      </form>      <font size="1">I campi con l'asterisco sono
obbligatori.<br>      <?}?>        </font>      </table></body></html>

 dimensione perde tutti i colori e diventa praticamente arcobaleno..
Azzardo: potrebbe essere per via del Content-Type dell'allegato.

[fadeout] ha scritto:

Prova così:
<form action="dove vuoi" method="quello che vuoi" 
enctype="multipart/form-data">