Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: lettura dati da txt

  1. #1

    lettura dati da txt

    ciao a tutti,
    vorrei spedire una stessa email a più destinatari leggendo gli indirizzi da un file di testo
    la lettura degli indirizzi avviene correttamente, il problem è nel passaggio di ogni indirizzo letto nel file txt...faccio prima a mettere i codici

    LETTURA FILE TXT

    $var=fopen("indirizzi.txt","r");
    $leggi=fread($var,filesize("indirizzi.txt"));
    fclose($var);
    echo $leggi;

    LE DUE PARTI DI CODICE IN CUI HO MESSO $leggi al posto di un indirizzo fisso di e-mail
    Premetto che la spedizione ad un solo indirizzo non dà problemi

    //Stringa separatore
    $separatore = "----------------" .md5(time()). "x";


    //Creazione dell'header
    $head = "From: <mioindirizzo@libero.it>\n";
    $head .= "CC: Destinatario in copia <$leggi>\n";
    $head .= "X-Mailer: PHP/" . phpversion();
    $head .= "MIME-Version: 1.0\n";
    $head .= "Content-Type: multipart/related;\n";
    $head .= " boundary=\"$separatore\";\n\n";

    SECONDA PARTE

    if( @mail($leggi, $subject, $body, $head) ) {
    echo "OK. E-mail inviata con successo!";
    } else {
    echo "ERR. Errore nell'invio dell'e-mail!";
    }

    ...E COSI' DA ERRORE
    probabilmente non viene riconosciuta come indirizzo di email la stringa letta da indirizzi.txt?

    grazie mille in anticipo per le risposte

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    gli indirizzi sono uno per riga?

  3. #3
    si, infatti ho appena riprovato in questo modo
    $var=fopen("indirizzi.txt","r");
    while (!feof($var))
    {
    $leggi = fgets($var);
    echo $leggi."<br>";
    }
    fclose($var);
    per leggere la riga e in questo modo gli indirizzi vengono passati correttamente, ma c'è ancora un problema: ho provato a includere nel ciclo di while anche la parte che riguarda il messaggio da spedire e mi chiedo se è corretto, dal momento che il messaggio è sempre lo stesso...insomma...vorrei tanto risolvere!!!

  4. #4
    non ho scritto qual'è il problema:
    l'email da spedire contiene un immagine e inviandola a più indirizzi, in ricezione c'è solo un infinito numero di lettere...praticamente non si visualizza

  5. #5
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    nel while ci devi mettere tutto
    Codice PHP:
    $var=fopen("indirizzi.txt","r");
    while (!
    feof($var))
    {

    //Stringa separatore
    $separatore "----------------" .md5(time()). "x";


    //Creazione dell'header
    $head "From: <mioindirizzo@libero.it>\n";
    $head .= "CC: Destinatario in copia <$leggi>\n";
    $head .= "X-Mailer: PHP/" phpversion();
    $head .= "MIME-Version: 1.0\n";
    $head .= "Content-Type: multipart/related;\n";
    $head .= " boundary=\"$separatore\";\n\n";

    //SECONDA PARTE

    if( @mail($leggi$subject$body$head) ) {
    echo 
    "OK. E-mail inviata con successo!";
    } else {
    echo 
    "ERR. Errore nell'invio dell'e-mail!";
    }
    }
    fclose($var); 

  6. #6
    Utente di HTML.it L'avatar di MySQL
    Registrato dal
    May 2015
    Messaggi
    729
    Fai attenzione che una spedizione "a raffica" del genere può facilmente farti bannare e/o bannare il server SMTP che utilizzi.
    Se il numero di destinatari non è gigantesco, e la cosa è fattibile, spesso è meglio fare un autoinvio (A) e mettere in BCC tutti i destinatari in un colpo solo.
    Come detto massima attenzione per evitare di vedersi bloccare l'account.
    Esistono servizi di mailing massivo appositi

  7. #7
    non va! nell'e-mail ricevuta compare il messaggio Se visualizzi questo testo il tuo programma non supporta i MIME
    ma se per l'invio ad un solo indirizzo i mime sono supportati, cosa cambia nel formato quando i destinatari sono più di uno?
    boh????!!!!!!!

  8. #8
    no, non sono tantissime le email da spedire, circa 300, e nemmeno tutti i giorni...è un numero troppo alto?

  9. #9
    Quote Originariamente inviata da strawberry Visualizza il messaggio
    no, non sono tantissime le email da spedire, circa 300, e nemmeno tutti i giorni...è un numero troppo alto?
    Non ti conviene inviarle tutte assieme, ma dividerle in gruppi diciamo da 100 ( magari anche qualcosa in meno )..
    IN più ti conviene aspettare qualche secondo tra un invio e l'altro.. vedi funzione sleep()
    che ti permette di attendere un certo numero di secondi prima di proseguire con l'esecuzione della parte restante dello script..
    http://php.net/manual/en/function.sleep.php

  10. #10
    grazie per l'utilissimo consiglio, ma prima devo portare a termine la spedizione CORRETTA di un singolo messaggio
    purtroppo ho un altro problema e cioè inviando nel corpo del messaggio l'html, nell'e-mail ricevuta non si visualizzano le immagini. Ho provato in tanti modi, qui metto quello più semplice per intero:
    <?php
    $header = "MIME-Version: 1.0\r\n";
    $header .= "Content-type: text/html; charset=iso-8859-1\r\n";
    $header .= 'From: "Il mio nome" <.....@libero.it> \r\n';
    $header .= "Reply-to: .....@libero.it\r\n";
    $destinatario = "singoloindirizzo@libero.it";
    $oggetto = "prova invio html";
    $messaggio = '
    <html>
    <head>
    <title>La mia email HTML</title>
    <style type="text/css">
    body {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; font-weight:normal; color:#000000;}
    </style>
    </head>
    <body>
    <p>Ecco la mia prima mail in HTML<br>
    Questo testo è in <strong><a href="http://www.indirizzo.it">bold</a></strong></p>
    <p>E qui ci metto una immagine che sta nella stessa directory dello script <img src="biggiallo.jpg"></p>
    </body>
    </html>
    ';

    ?>

    e non va! grazie ancora a chi saprà dirmi qualcosa

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.