ciao a tutti
ho creato un codice per l'invio di newsletter con la possibilità di mandare anche un allegato...
qualcuno mi dice perchè funziona praticmante tutto con il piccolo problema che in realtà il file che arriva nn è niente, mi spiego meglio: c'è il nome, la dimensione, il tipo, ma nn lo si apre...
posto il codice
Codice PHP:
<?php
include("configdust.inc.php");
$oggetto=$_POST['oggetto'];
$testo=$_POST['testo'];
$password=$_POST['password'];
$attach = $_FILES["allegato"]["tmp_name"];
$file_name = $_FILES["allegato"]["name"];
$file_type = $_FILES["allegato"]["type"];
$file_size = $_FILES["allegato"]["size"];
$boundary = md5(uniqid(microtime()));
$file = @fopen($attach, "r");
$contents = @fread($file, $file_size);
$encoded_attach = chunk_split(base64_encode($contents));
@fclose($file);
$mail_headers = "From: TheeDuSt <theedust@virgilio.it>\r\n";
$mail_headers .= "MIME-version: 1.0\r\n";
$mail_headers .= "Content-type: multipart/mixed; boundary=\"$boundary\"";
$mail_headers .= "X-attachments: $file_name\r\n";
$mail_body = "--$boundary\n";
$mail_body .= "Content-Type: text/plain; charset=us-ascii\r\n";
$mail_body .= "Content-Transfer-Encoding: 7bit\r\n\r\n";
$mail_body .= "$testo\r\n\r\n";
$mail_body .= "--$boundary\r\n";
$mail_body .= "Content-type: $file_type; name=\"$file_name\"\r\n";
$mail_body .= "Content-Transfer-Encoding: base64\r\n";
$mail_body .= $encoded_attach."\r\n";
$mail_body .= "--$boundary--\r\n";
if ($password != $pasw):
echo "fanculo stronzo!!!";
elseif (trim($testo) == "" or trim($oggetto) == ""):
echo "i campi testo e oggetto debbono essere riempiti!";
else:
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
$query = "SELECT email,emailv FROM utenti";
$result = mysql_query($query, $db);
while ($row = mysql_fetch_array($result))
{
echo "$row[email]<br>";
mail("$row[email]", "$oggetto", "$mail_body", "$mail_headers");
sleep(1);
echo "$row[emailv]<br>";
mail("$row[emailv]", "$oggetto", "$mail_body", "$mail_headers");
sleep(1);
};
echo "La mail dovrebbe essere stata mandata";
mysql_close($db);
endif;
?>
Grazie