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

    Inviare mail multiple leggendo da file di testo

    Salve ragazzi,
    vorrei sapere come inviare una mail multipla, leggendo gli indirizzi da un file di testo(email.txt) con questa formattazione:

    1,franco,esempio1@prova.it;
    2,matteo,esempio2@prova.it;
    ecc

    Tutto questo con una funzione. Io stavo scrivendo in questo modo:

    Codice PHP:
    $file="email.txt";
    $apro=fopen($file,"r");
    $leggo=fread($apro,filesize($file));
    function 
    multiplaemail($file){


    Sbaglio? Se si, come devo modificare?
    Grazie!

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Non ti serve creare una funzione per inviare la stessa email a più destinatari, puoi farlo con mail()

    Qui trovi tutto su tale funzione
    http://php.net/manual/en/function.mail.php

  3. #3
    Devo creare per forza una funzione(è un esercitazione di un libro)...poi devo leggere da un file txt i destinatari.


    Come devo fare?

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Sai come si legge un file?
    Leggi sul sito che ti ho dato come funziona file()
    Poi esegui un ciclo foreach sul risultato della funzione file() e ti crei tutti i destinatari, alla fine passi questi destinatari alla funzione mail()

  5. #5
    Ma stavo scrivendo bene?

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Da quello che hai scritto hai già letto il file con fread(), quindi dentro $leggo hai già il contenuto del file txt.

    Con la tua situazione attuale dovrai fare un passo in più perché tutti i dati sono in una stringa, mentre con file() sarebbero già divisi per riga dentro un array (sempre che ci sia un ritorno a capo dopo ogni contatto nel file txt)

    Alla funzione multiplaemail() devi passarci $leggo, è inutile ripassare l'handle al file per leggerlo una seconda volta, l'hai già fatto.
    Inoltre puoi già chiudere il file dopo la fread(), non ti serve più tenerlo aperto.

  7. #7
    Poi alla fine di ogni contatto c'è sempre un ritorno a capo. Ecco di nuovo la formattazione:


    1,franco,esempio1@prova.it;
    2,matteo,esempio2@prova.it;
    ecc


    Ora ho scritto:

    Codice PHP:
    <?php
    $file
    ="email.txt"
    $apro=fopen($file,"r"); 
    $leggo=fread($apro,filesize($file)); 

    function 
    multiplaemail($leggo){ 

    $oggetto="Proval" ;
    $a=time();
    $b=date('d M y - H:i:s'$a);
    $messaggio$b ;

    $intestazione"From:prova@prova.it";
    $intestazione .= " Reply- To:prova1@prova.it";
    $intestazione . = "X-Mailer: PHP/".phpversion();

    ...
    mail(...);
    }







    ?>

    Ora come devo continuare?

  8. #8
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Intanto prima di chiamare la tua funzione devi chiudere il file con fclose() altrimenti resta aperto.

    Adesso devi estrapolare gli indirizzi dalla variabile $leggo.
    Suggerimento: da un'occhiata alla funzione explode(), ti sarà utile.

  9. #9
    In questo modo:

    Codice PHP:
    <?php
    $file
    ="email.txt"
    $apro=fopen($file,"r"); 
    $leggo=fread($apro,filesize($file)); 
    fclose($file);
    function 
    multiplaemail($leggo){ 

    $oggetto="prova" ;
    $a=time();
    $b=date('d M y - H:i:s'$a);
    $messaggio$b ;

    $intestazione"From:prova@prova.it"
    $intestazione .= " Reply- To:prova1@prova.it"
    $intestazione . = "X-Mailer: PHP/".phpversion();

    $estrai explode(",",$leggo,3);

    }

    ?>

  10. #10
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Mettici anche un po' del tuo, se ti dico ad ogni passo cosa devi fare, l'esercizio lo faccio io.

    Secondo te adesso che dovresti fare?
    Come potresti usare i dati che hai?

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.