Ciao a tutti,
ho un problema di invio di allegato in php.
Ho utilizzato il seguente codice:
http://www.daniweb.com/web-developme...achment-in-php
Devo inviare dalla mia mail alla mia mail, l' immagine graficogenerato.png che è situato nella root principale del mio sito internet ( quindi non è in una sottocartella ).
Se nella barra degli indirizzi metto il link completo l' immagine la visualizzo ma quando eseguo quel codice mi invia la mail correttamente, pure l' allegato ma l' allegato immagine è di 0 KB quindi quando apro il file non visualizzo nulla.
Vi riporto il codice sostituito:
Codice:
<?php
$fileatt = "http://www.googleanalytics.altervista.org/graficogenerato.png"; // Path to the file
$fileatt_type = "application/png"; // File Type
$fileatt_name = "graficogenerato.png"; // Filename that will be used for the file as the attachment
$email_from = "miamail@hotmail.it"; // Who the email is from
$email_subject = "GRAFICO"; // The Subject of the email
$email_txt = "GRAFICO"; // Message that the email has in it
$email_to = "miamail@hotmail.it"; // Who the email is too
$headers = "From: ".$email_from;
$file = fopen($fileatt,'rb');
$data = fread($file,filesize($fileatt));
fclose($file);
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
$headers .= "\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";
$email_message .= "This is a multi-part message in MIME format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type:text/html; charset=\"iso-8859-1\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$email_message . "\n\n";
$data = chunk_split(base64_encode($data));
$email_message .= "--{$mime_boundary}\n" .
"Content-Type: {$fileatt_type};\n" .
" name=\"{$fileatt_name}\"\n" .
//"Content-Disposition: attachment;\n" .
//" filename=\"{$fileatt_name}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n" .
"--{$mime_boundary}--\n";
$ok = @mail($email_to, $email_subject, $email_message, $headers);
if($ok) {
echo "<font face=verdana size=2>The file was successfully sent!</font>";
} else {
die("Sorry but the email could not be sent. Please go back and try again!");
}
?>
Ho subito pensato che il problema potesse essere alla seconda riga, ho sostituito con $fileatt_type = "image/png"; ma ho lo stesso problema...
Come posso risolvere?
Grazie