Usa il tag code per il codice :)
Codice:
<input type="hidden" name="MAX_FILE_SIZE" value="30000" id="uploadfile" />
<input name="userfile" type="file" />
Codice:
$body .= "Foto: " . trim(stripslashes($_FILES["uploadfile"])) . "\n"; //foto
Innanzitutto il primo input non è molto utile: se c'è un limite alla dimensione del file, saperlo è compito del server, non del client (e comunque nel codice PHP non lo stai utilizzando...).
Poi, nel form HTML l'input per il file si chiama "userfile", quindi in PHP dovresti usare $_FILES["userfile"]. Quest'ultimo comunque è un vettore associativo che contiene varie chiavi, tra cui 'tmp_name' con il percorso (temporaneo) in cui il file è stato caricato. Se vuoi leggere il contenuto dell'immagine, devi aprire e leggere quel file.
Infine, non poi semplicemente stampare il contenuto di un'immagine nel corpo dell'email, il risultato sarebbe una stringa di codice incomprensibile. Le opzioni sono 3:
- inviare l'immagine come allegato (eventualmente cancellandola dal tuo server)
- salvare l'immagine caricata nel tuo server ed inviare un link a tale immagine nell'email
- salvare l'immagine caricata nel tuo server e comporre l'email in HTML anziché testo semplice, così da poter inserire un tag <img>
In ogni caso, questa giuda è un buon punto di partenza: http://www.w3schools.com/php/php_file_upload.asp.
Naturalmente sarebbe anche il caso di rendere il codice più robusto con qualche controllo qua e là (ad esempio, cosa succede se i campi città ed email non sono stati compilati, o se non è stato inviato nessun file? Oppure se il file non è un'immagine?), ma questo sarà fatto in un secondo momento.