buonasera avrei bisogno di un formmail con allegato ..come questo
che però mi faccia scegliere la dimensione massima dell'allegato e che mi garantisca comunque un allegato di almeno 5 mb .
perchè ho notato che con questo se allego un file di pochi kb tipo un immagine .gif ,mi arriva il messaggio con allegato tutto ok .
se già voglio caricare una foto o un mp3 mi dice messaggio inviato correttamente ma in realtà nella mia casella (1gb di spazio web mail domini di aruba) non mi arriva nulla nemmeno il messaggio...
grazie mille.
che però mi faccia scegliere la dimensione massima dell'allegato e che mi garantisca comunque un allegato di almeno 5 mb .
perchè ho notato che con questo se allego un file di pochi kb tipo un immagine .gif ,mi arriva il messaggio con allegato tutto ok .
se già voglio caricare una foto o un mp3 mi dice messaggio inviato correttamente ma in realtà nella mia casella (1gb di spazio web mail domini di aruba) non mi arriva nulla nemmeno il messaggio...
grazie mille.
PHP:
<?php
// Recupero il valore dei campi del form
$destinatario = $_POST['destinatario'];
$mittente = $_POST['mittente'];
$oggetto = $_POST['oggetto'];
$messaggio = $_POST['messaggio'];
// Valorizzo le variabili relative all'allegato
$allegato = $_FILES['allegato']['tmp_name'];
$allegato_type = $_FILES['allegato']['type'];
$allegato_name = $_FILES['allegato']['name'];
// Creo 2 variabili che riempirò più avanti...
$headers = "From: " . $mittente;
$msg = "";
// Verifico se il file è stato caricato correttamente via HTTP
// In caso affermativo proseguo nel lavoro...
if (is_uploaded_file($allegato))
{
// Apro e leggo il file allegato
$file = fopen($allegato,'rb');
$data = fread($file, filesize($allegato));
fclose($file);
// Adatto il file al formato MIME base64 usando base64_encode
$data = chunk_split(base64_encode($data));
// Genero il "separatore"
// Serve per dividere, appunto, le varie parti del messaggio.
// Nel nostro caso separerà la parte testuale dall'allegato
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
// Aggiungo le intestazioni necessarie per l'allegato
$headers .= "\nMIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/mixed;\n";
$headers .= " boundary=\"{$mime_boundary}\"";
// Definisco il tipo di messaggio (MIME/multi-part)
$msg .= "This is a multi-part message in MIME format.\n\n";
// Metto il separatore
$msg .= "--{$mime_boundary}\n";
// Questa è la parte "testuale" del messaggio
$msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$msg .= "Content-Transfer-Encoding: 7bit\n\n";
$msg .= $messaggio . "\n\n";
// Metto il separatore
$msg .= "--{$mime_boundary}\n";
// Aggiungo l'allegato al messaggio
$msg .= "Content-Disposition: attachment;\n";
$msg .= " filename=\"{$allegato_name}\"\n";
$msg .= "Content-Transfer-Encoding: base64\n\n";
$msg .= $data . "\n\n";
// chiudo con il separatore
$msg .= "--{$mime_boundary}--\n";
}
else
{
$msg = $messaggio;
}
// Invio la mail
if (mail($destinatario, $oggetto, $msg, $headers))
{
header('Location: grazie.htm');
}else{
header('Location: errore.htm');
}
?>