Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885

    mandare script in crontab e determinare a quali utenti dare l'invio

    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($filezfilesize($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']) ? : (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");
        } 

    ?>

  2. #2
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    up ...
    e ribatto con una domanda ...
    Qualcuno ha mai avuto un problema di server che si 'rompe' per un invio massiccio di mail?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.