Invio messaggio a mailing list su file txt

  • Creatore Discussione Creatore Discussione Cosina
  • Data di inizio Data di inizio

Cosina

Utente Attivo
27 Dic 2016
101
0
16
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 inviare io, tramite il form, 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:

[email protected]
[email protected]
[email protected]

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

PHP:
<?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 = "[email protected]";
        $subject = "message sent";
        $headers = "From: $email";

        //Defining mail settings user
        $usersubject = "Thank You";
        $userheaders = "From: [email protected]\n";
        $usermessage = "Thank you for your message.";
        mail($email,$usersubject,$usermessage,$userheaders);
 
}
            
}

?>
 
PHP:
function sendMessage($email){
// qui metti il tuo codice per l'invio delle mail
}

$ls=file(_FILE_LIST_EMAIL);

foreach($ls as $item)sendMessage($item);

sendMessage('[email protected]');
Un pò striminzito ma è questo!

NB: sarebbe meglio inviare l'email in A con valori separati, in quanto risulterebbe 1 mail a 100 indirizzi, e non la relazione 1 a 1 ossia 1 mail 1 indirizzo......
 
NB: sarebbe meglio inviare l'email in A con valori separati, in quanto risulterebbe 1 mail a 100 indirizzi, e non la relazione 1 a 1 ossia 1 mail 1 indirizzo......

Ti ringrazio davvero, macus_adi. Se hai consigli per migliorare il codice, li accetto volentieri. Da sola non sono in grado, perchè non ho abbastanza competenza di php. Se, naturalmente, hai tempo da dedicarmi, altrimenti va bene anche così. Gentilissimo. Ti auguro una buona giornata. Ciao
 
Si potrebbe fare una funzione da includere nel tuo codice tipo:

PHP:
include_once ('./getemails.php');

$to = getMails("[email protected],");

contenuto del file getmails.php:

PHP:
<?php

function getMails($to)
{
    $mails = [];
    // recupero mails da file
    $file = fopen("mails.txt", "r");
    while (!feof($file)) {
        $data = fgets($file);
        array_push($mails, $data);
    }
    fclose($file);

    foreach ($mails as $key => $value) {
        if ($key === count($mails) - 1) {
            $to .= $value;
        } else {
            $to .= $value . ",";
        }
    }
    return $to;
}

Non ho avuto modo ti testare l'invio , vedi se funziona.
 
Ehm....con tutti questi pezzetti di codice non capisco più niente. Ho provato, ma, sicuramente, sbaglio ad assemblarli, perchè mi manca la competenza necessaria. Sareste così carini da postarmi il codice php completo di tutto e definitivo? Grazie per la pazienza e la comprensione :)
 
Solo questo!
PHP:
$file_csv='PERCORSO/DEL/FILE/CSV';
$to=join(',',file($file_csv));
mail($to,$usersubject,$usermessage,$userheaders);
 

Discussioni simili