Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2000
    Messaggi
    230

    Invio di e_mails simultanee

    Ciao a tutti,

    chi sa dirmi per favore, avendo una mailing list di email (circa 1000 persone che si sono iscritte ad un mio servizio) se mandare attraverso un ciclo while contemporaneamente email a tutti (ogni giorno) possa causare problemi al server :master:

    Forse dovrei scaglionarle?

    Qualcuno mi puo dare un consiglio?

    Grazie

    Gerrix

  2. #2
    Fai 2 semplici calcoli...il numero dei destinatari, la grandezza in KB della mail, e la banda che ti ritrovi....dopodichè chiaramente verifichi che il server mail sia impostato ad accettare un tot di utenti e che non ci sia una limitazione di banda da parte del server.

    Prova cosi per cominciare, dopo verifichiamo eventuali errori in dettaglio

    io ci provo anche se è dura!!!
    vieni a trovarmi http://www.netlabit.com

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2000
    Messaggi
    230
    Ok
    Grazie

    Gerrix

  4. #4
    usare un while è da suicidi...

    dipende dal carico del server... ma quando gli utenti inizieranno a salire sarà un bel problema..

    il carico non dipende solo dalla banda rikiesta ma anche dal carico a livello di cpu che la chiamata mail() produce

    a questo scopo ti basta usare un while strutturato in maniera diversa che mandi via una sola mail con tutti gli indirizzi com bcc:

    una soluzione che usa i "bcc:" può essere questa:

    codice:
    $subject = "oggetto mail";
    $content = "testo mail";
    $from = "tuamail@dominio.com";
    $intestazione = "From: $from\n";
    $intestazione .= "Bcc: $from";
    while(list($user_email) = mysql_fetch_row($result, $db)) {
    	$intestazione .= ", $user_email";
    }
    $intestazione .= "\n";
    mail($from, $subject, $content, $intestazione);
    penso sia abbastanza compresibile

    se ci sn dubbi chiedi.

    quello è i miglior metodo per inviare mail senza caricare il server (l'mta che invia le mail si gestisce da solo bilanciando il carico quando ci sn tante mail da inviare... il php no

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2000
    Messaggi
    230
    Grazie

    ora provo poi ti faccio sapere

    Gerrix

  6. #6
    Originariamente inviato da EvolutionCrazy
    usare un while è da suicidi...

    dipende dal carico del server... ma quando gli utenti inizieranno a salire sarà un bel problema..

    il carico non dipende solo dalla banda rikiesta ma anche dal carico a livello di cpu che la chiamata mail() produce

    a questo scopo ti basta usare un while strutturato in maniera diversa che mandi via una sola mail con tutti gli indirizzi com bcc:

    una soluzione che usa i "bcc:" può essere questa:

    codice:
    $subject = "oggetto mail";
    $content = "testo mail";
    $from = "tuamail@dominio.com";
    $intestazione = "From: $from\n";
    $intestazione .= "Bcc: $from";
    while(list($user_email) = mysql_fetch_row($result, $db)) {
    	$intestazione .= ", $user_email";
    }
    $intestazione .= "\n";
    mail($from, $subject, $content, $intestazione);
    penso sia abbastanza compresibile

    se ci sn dubbi chiedi.

    quello è i miglior metodo per inviare mail senza caricare il server (l'mta che invia le mail si gestisce da solo bilanciando il carico quando ci sn tante mail da inviare... il php no
    ma se ci sono delle limitazioni al numero di utenti in bcc??
    come si bypassa il problema?

    Francesco
    Ciao!

  7. #7
    io l'ho testato su un host con molte limitazioni e gratuito... (altervista.org)

    inviavo tranquillamente la mail a 500destinatari..

    quindi 500 di sicuro vanno ovunque..

    casomai se hai 1000 utenti per sicurezza fai due chiamate a mail spezzando la stringa $intestazione in due parti da 500

  8. #8
    quello che intendo dire io, è:

    esiste una regola generale per queste evenienze, c'è un modo migliore di un'altro di comportarsi??

    se si, qual'è?


    Grazie
    Francesco
    Ciao!

  9. #9
    avevo provato anch'io informarmi se c'è un limite fissato per la dimensione della stringa di intestazione che può essere passata, ma nessuno ha saputo rispondermi e nemmeno sull'help di php.net sta scritto...

    ho chiesto persino all'admin di altervista che i settaggi dei loro servers li conosce tutti e mi ha detto che non esiste alcun parametro per limitare la dimensione a livello di "webserver"

    l'unica via resta provare...

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.