Newsgroup: it.comp.www.php
Titolo: Inviare allegati via email ->

Ciao,
non sono riuscito a trovare la soluzione a questo problema
Ho una pagina php e un form dove un utente può inviare un email con
allegati.
<?
Form
echo "<form ENCTYPE=\"multipart/form-data\" ACTION=\"sendattachment.php\"
METHOD=\"POST\">
<b>Invia Foto / Send Photo</b>
<br>Nome utente: <INPUT NAME=\"text\" TYPE=\"nome\">
<br>Email utente: <INPUT NAME=\"text\" TYPE=\"email\">
<br><INPUT NAME=\"file\" TYPE=\"file\">
<br><INPUT TYPE=\"Submit\" VALUE=\"INVIA / SEND\">";
?>
Invio le variabili e le leggo per inviare l'email con l'allegato ed uso
sendmail.php che è una libreria funzionante.
<?
include("sendmail.php");
$subject="Invio foto";
$to="Master 
em...@emailstxz.com
";
$message[1]['content_type'] = 'text/plain; charset=us-ascii';
$message[1]['filename'] = '';
$message[1]['no_base64'] = TRUE;
$message[1]['data'] = "Ciao ti invio la foto";
$message[3]['content_type'] = 'image/jpeg';
$message[3]['filename'] = "foto.jpg";
$message[3]['data'] = mp_read_file($lu_file);
$message[3]['headers'] = array('X-Sent-By' => '
em...@emailstxz.com
',
'X-mailer' => 'Master');
$from ="$nome <$email>";
$out = mp_new_message($message);
mail($to, $subject, $out[0], "From: $from\n".$out[1]);
echo "Foto inviata";
?>
L'email viene inviata ma l'allegato è inesistente!
Qualcuno sa qual'è il trucco per leggere sta benedetta immagine e farla
arrivare in allegato correttamente?
Bye bye e Buona Domenica :-)

 Bye bye e Buona Domenica :-)
Così ad occhio mi sembra che manchino molte definizioni per gli header.
Io avevo risolto così:
$userfile = "logodainviare.gif"; $fp = fopen($userfile, "r"); $file = 
fread($fp, filesize($userfile)); $file = chunk_split(base64_encode($file));
$filename = basename($userfile);
$mail_boundary = md5(uniqid(time())); $mail_headers = "Mime-Version: 1.0\
r\n"; $mail_headers .= "Content-Type: multipart/mixed; boundary=$mail_
boundary\r\n";
$mail_headers .= "From: La tua Newsletter\r\n";
$mail_body = "--$mail_boundary\r\n"; $mail_body .= "Content-Transfer-
Encoding: 7bit\r\n"; $mail_body .= "Content-Type: text/plain;\n 
charset=US-ASCII;\n format=flowed\r\n\r\n"; $mail_body .= "$newsletter\r\
n\r\n"; $mail_body .= "\n------------------------------------------\r\n";
$mail_body .= "Per ulteriori informazioni non esitate a contattarci:\n 
in...@dominio.com
\r\n\n"; $mail_body .= "\n\n--$mail_boundary\r\n"; $mail_
body .= "Content-Disposition: inline;\n filename = $filename\r\n"; $mail_
body .= "Content-Transfer-Encoding: base64\r\n"; $mail_body .= "Content-
Type: image/gif;\n name = \"$userfile\"\r\n\r\n"; $mail_body .= "$file\r\
n";		
$mail_body .= "--$mail_boundary--";
mail("$email", $oggetto, $mail_body, $mail_headers);
Max
-- 
Se mi volete scrivere
massimo . ori @ aliceposta . it

Oppure puoi usare la classe da scaricare su 
www.thecloud.org
 gratis che
manda mail in html e con allegati
J

 -- 
Ciao!
Il codice per inviare il file invia l'attachment tranquillamente quando
inserisci il nome di un img residente,
il problema sussiste quando scelgo un file dal form
 <?
echo "<form ENCTYPE=\"multipart/form-data\" ACTION=\"sendattachment.php\"
METHOD=\"POST\">
<b>Invia Foto / Send Photo</b>
<br>Nome utente: <INPUT NAME=\"text\" TYPE=\"nome\">
<br>Email utente: <INPUT NAME=\"text\" TYPE=\"email\">
<br><INPUT NAME=\"img\" TYPE=\"file\">
<br><INPUT TYPE=\"Submit\" VALUE=\"INVIA / SEND\">";
?>
Dove l'immagine caricata viene memorizzata in una dir temporanea e non viene
letta correttamente come $img e quando la invia non la legge.

"Julien" <thecl...@yahoo.bla>
Negli esempi perņ non c'č quello che mi interessa.
Ovvero l'invio di un attachment caricato dal pc.
 <?
echo "<form ENCTYPE=\"multipart/form-data\" ACTION=\"sendattachment.php\"
METHOD=\"POST\">
<b>Invia Foto / Send Photo</b>
<br>Nome utente: <INPUT NAME=\"text\" TYPE=\"nome\">
<br>Email utente: <INPUT NAME=\"text\" TYPE=\"email\">
<br><INPUT NAME=\"img\" TYPE=\"file\">
<br><INPUT TYPE=\"Submit\" VALUE=\"INVIA / SEND\">";
?>
La classe EMAIL: la classe php  dove la metto?
Dove l'immagine caricata viene memorizzata in una dir temporanea e non viene
letta correttamente come $img e quando la invia non la legge.
Ciao

 Negli esempi però non c'è quello che mi interessa.

Non vedo dove sia la differenza, quando carichi il file sul server da form
hai in mano tutte le informazioni di dove esso risiede, metti quel percorso
li oppure prima copia il file dove sta eseguendo lo script e poi metti solo
il nome file!!
Ciauz
Francesco


Ciao, il problema c'era!
In pratica non settavo correttamente il path in cui prendere l'immagine.
$path= $HTTP_SERVER_VARS["PATH_TRANSLATED"];
Cosě in breve ho copiato il file che caricavo con
copy($ufile,"$path\\$nameimg");
 e poi l'ho inviata in attachment.
Ci ho messo un pň ma ora funziona!
Ciao