• User

    Inviare messaggio da form a lista indirizzi in file txt

    Buongiorno a tutti. Utilizzo un modulo di contatto per ricevere email e inviare la conferma di ricezione. Vorrei modificare il codice php al fine di ottenere un modulo con il quale inviare io un messaggio ad una lista di indirizzi che si trovano in un file txt. In pratica, con l'invio, mando il mio messaggio a tutti gli indirizzi della lista e io ricevo via email la conferma di invio. Si può fare? Grazie per l'aiuto.
    Gli indirizzi si trovano sul file.txt incolonnati in questo modo:

    mail1@mail.com
    mail1@mail.com
    mail1@mail.com

    Il codice che uso ora per i normali contatti è questo:

    <?php
    
        if(isset($_POST['name'])) {
    
            $name = $_POST['name'];
            $email = $_POST['email'];
            $mmessage = ($_POST['message']);
            $emailmessage = "message sent.
    
    Name: $name
    Email: $email
    Message: $mmessage
            ";   
    
            //Defining mail settings admin
    
            $to = "mail@mail.com";
            $subject = "message sent";
            $headers = "From: $email";
    
            //Defining mail settings user
            $usersubject = "Thank You";
            $userheaders = "From: mail@mail.com\n";
            $usermessage = "Thank you for your message.";
            mail($email,$usersubject,$usermessage,$userheaders);
     
    }
                
    }
    
    ?>
    
    

  • Moderatore

    @cosina ha detto in Inviare messaggio da form a lista indirizzi in file txt:

    <?php

    if(isset($_POST['name'])) {
    
        $name = $_POST['name'];
        $email = $_POST['email'];
        $mmessage = ($_POST['message']);
        $emailmessage = "message sent.
    

    Name: $name
    Email: $email
    Message: $mmessage
    ";

        //Defining mail settings admin
    
        $to = "mail@mail.com";
        $subject = "message sent";
        $headers = "From: $email";
    
        //Defining mail settings user
        $usersubject = "Thank You";
        $userheaders = "From: mail@mail.com\n";
        $usermessage = "Thank you for your message.";
        mail($email,$usersubject,$usermessage,$userheaders);
    

    }

    }

    ?>

    direi che è un po' tutto "migliorabile" se ti va possiamo farlo assieme:

    • innanzitutto verifichiamo che tutte le variabili esterne siano stringhe e che esistano
    • verifichiamo che la mail sia una mail
    • facciamo l'escaping delle variabili
    • fatto questo utilizziamo fread per leggere il file, ricordando di verificare sempre che il file non sia vuoto e che esista
    • cicliamo gli elementi del file verificando che siano, ad una ad una, email valide
    • inviamo.

    aspetto te 🙂


    cosina 1 Risposta
  • User

    @massimux grazie, volentieri accetto i tuoi consigli. Dammi indicazioni quando hai tempo. Ciao


  • Moderatore

    te le ho scritte in elenco 🙂

    abbozza il codice, e lo commentiamo 😉


    cosina 1 Risposta
  • User

    @massimux ti ringrazio davvero tanto, ma non sono capace. Non importa, capisco che non posso pretendere troppo. Siete gentilissimi. Buona giornata e buon lavoro