ciao , ho un problemino di gestione mail 
io ho la mia pagina che carica il testo , ma non immagine allegata (dovrei metterla io manualmente.) il problema è che non posso inviarle nell'arco della giornata ma durante la notte e non posso nemmeno inviarne cosi tante altrimenti un bel crash.
posso nel mio script dire di andarsi a recuperaare da solo il jpg da allegare e far si che parta in automatico alle ore xx:xx per n valori nel database, passati n minuti far partire le altre dall'utente 100 al 200 e cosi via?
se si non ho la più pallida idea di come si possa fare , non tanto per la temistica (penso basti un crontab che punti la pagina) ma su come far prendere l'immagine e come dirgli da untente 1 a utente 100 poi a utente 200 partendo dal 101
....
Grazie mille delle risposte ...
Codice PHP:
<?php
include 'connect.php';
//Nella variabile $mess va inserito tutto il codice html che comporrà il corpo dell'email che si vuole inviare. Come nell'esempio si possono utilizzare anche i fogli di stile.*/
$subject=$_POST['oggetto'];
$massaggio_form = $_POST['messaggio'];
$mittente=$_POST['mittente'];
//$reply="miaemail@email.com";
//Prendiamo i valori del file
$titolo=$_FILES['allegato']['name'];
$f=$_FILES['allegato']['tmp_name'];
$filetype=$_FILES['allegato']['type'];
//leggiamo il file per tutta la sua lunghezza
$filez = fopen($f, "r");
$contents = fread($filez, filesize($f));
$encoded_attach = chunk_split(base64_encode($contents));
fclose($filez);
// costruiamo alcune intestazioni generali
$intestazioni = "MIME-version: 1.0\nContent-type: multipart/related;\n boundary=\"Message-Boundary\"\n";
// generiamo le stringhe utilizzate come separatori
$boundary = "==String_Boundary_x" .md5(time()). "x";
$boundary2 = "==String_Boundary2_y" .md5(time()). "y";
$count = mysql_query("SELECT COUNT(email_add) FROM $tab_mail");
$res_count = mysql_fetch_row($count);
$tot_records = $res_count[0];
$per_page = 40;
$tot_pages = ceil($tot_records / $per_page);
$current_page = (!$_GET['page']) ? 1 : (int)$_GET['page'];
$primo = ($current_page - 1) * $per_page;
// costruiamo le intestazioni specifiche per un messaggio
// con parti relazionate
$header .= "From: $mittente\nReply-To: $reply\nX-Mailer: Sismail Web Email Interface\n";
$header .= "MIME-Version: 1.0\n";
$header .= "Content-Type: multipart/related;\n";
$header .= " type=\"multipart/alternative\";\n";
$header .= " boundary=\"$boundary\";\n\n";
$header .= "Content-transfer-encoding: 7BIT\nX-attachments: $titolo";
$sql = "SELECT * FROM $tab_mail;";
$query = mysql_db_query($db_nome, $sql);
while($row = mysql_fetch_assoc($query)){
$destinatario = $row['mail_add'];
$id = $row['is_mail'];
$messaggio = "Se visualizzi questo testo il tuo programma non supporta i MIME\n\n";
// il primo segmento del multipart/related
// è definito come multipart/alternative
$messaggio .= "--$boundary\n";
$messaggio .= "Content-Type: multipart/alternative;\n";
$messaggio .= " boundary=\"$boundary2\";\n\n";
// sezione alternativa in puro testo
$messaggio .= "--$boundary2\n";
$messaggio .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$messaggio .= "Content-Transfer-Encoding: 7bit\n\n";
$messaggio .= "Messaggio alternativo in formato testo.\n\n";
// sezione alternativa in formato html
$messaggio .= "--$boundary2\n";
$messaggio .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
$messaggio .= "Content-Transfer-Encoding: 7bit\n\n";
if (!isset($messaggio_form)){
$messaggio .= "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
<html>
<head>
<style>
body.first {text-align:center}
div.intesta {text-decoration: none;color: red;font-size: 19px; font-family: Arial;text-align:center}
div.intesta2{text-decoration: none;color: blue;font-size: 19px; font-family: Arial;text-align:center}
div.minititle{text-decoration: none; font-weight:bolder;font-size: 13px; font-family: Arial;}
a:link.red{color:#FF0000; text-decoration:underline;font-weight: bold;}
a:link.blue{color:0000FF; text-decoration:none;font-weight: bold;}
</style>
<meta http-equiv=Content-Type content=\"text/html; charset=iso-8859-1\">
</html>
<body class=\"first\">
corpo del messaggio in html
";
}else{
$messaggio .= $messaggio .= "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
<html>
<head>
<style>
body.first {text-align:center}
div.intesta {text-decoration: none;color: red;font-size: 19px; font-family: Arial;text-align:center}
div.intesta2{text-decoration: none;color: blue;font-size: 19px; font-family: Arial;text-align:center}
div.minititle{text-decoration: none; font-weight:bolder;font-size: 13px; font-family: Arial;}
a:link.red{color:#FF0000; text-decoration:underline;font-weight: bold;}
a:link.blue{color:0000FF; text-decoration:none;font-weight: bold;}
</style>
<meta http-equiv=Content-Type content=\"text/html; charset=iso-8859-1\">
</html>
<body class=\"first\"> ";
$messaggio .= $messaggio_form;
$messaggio .= "</body></html>";
}
// chiusura della sezione multipart/alternative
$messaggio .= "--$boundary2--\n";
// seconda sezione del multipart/related contenente l'immagine
$messaggio .= "--$boundary\n";
$messaggio .= "Content-ID: MiaImmagine123\n";
$messaggio .= "Content-Type: $filetype\n";
$messaggio .= "Content-Transfer-Encoding: base64\n\n";
//carico lallegato
$messaggio .= "$encoded_attach\n\n";
// chiusura della sezione multipart/related
$messaggio .= "--$boundary--\n";
$mail_invio = mail($destinatario,$subject,$messaggio,$header);
}
$paginazione = "Pag tot: " . $tot_pages . " [";
//CICLO FINO ALLA FINE DEL CONTEGGIO PAGINA
for($i = 1; $i <= $pag; $i++){
if($i == $current_page){
$paginazione .= "<font color=\"FF0000\">[b]". $i ."[/b]</font> ";
break;
}
}
$paginazione .= "]";
if(!$mail_invio){
header("Location:index.php?verifica=0");
}else{
header("Location:index.php?verifica=1");
}
?>