php form invio mail

  • Creatore Discussione Creatore Discussione sbuzza
  • Data di inizio Data di inizio

sbuzza

Utente Attivo
15 Ott 2013
45
1
8
Italia
ciao a tutti,
volevo creare una pagina php che mi permetteva di inviare una mail agli utenti del mio database prendendo le mail con cui si sono registrati.

questo è il codice che ho provato a fare ma non funziona, a nessuno arriva la mail:

PHP:
<?php
include "DB.inc";
$messaggio=$_POST['messaggio'];
$oggetto=$_POST['oggetto'];
if($_POST['Invia']=='Invia')
 {

//esegui la query
$q="SELECT mail FROM utente";
$ris=mysql_query($q,$connessione);
//ciclo sul risultato della query e invio
$num=mysql_num_rows($ris);

for($i=0;$i<num;$i++)
{
  $row=mysql_fetch_row($ris);
  $indirizzo_email=$row[$i];
  print $indirizzo_email;
   mail($indirizzo_email,"$oggetto","$messaggio");
print "Mail inviate correttamente";
 } 
} else print "qualcosa non va";
?>
 
Ciao, non è il modo corretto di ciclare i rusultati di una query, prova cosi
PHP:
<?php

include "DB.inc";
$messaggio = $_POST['messaggio'];
$oggetto = $_POST['oggetto'];
if ($_POST['Invia'] == 'Invia') {
    $q = "SELECT mail FROM utente";
    $ris = mysql_query($q, $connessione);
    while ($row = mysql_fetch_assoc($ris)) {
        if (mail($row['mail'], $oggetto, $messaggio)) {
            echo " mail a " . $row['mail'] . " inviata correttamente<br/>";
        } else {
            echo " errore invio mail a " . $row['mail'] . "<br/>";
        }
    }
}
?>
 
ciao
penso che tu voglia questo
PHP:
<?php
//...
$headers = 'From: tua_email@tuo_sito.it' . "\r\n" .
    'Reply-To: tua_email@tuo_sito.it' . "\r\n";
 while ($row = mysql_fetch_assoc($ris)) {
        if (mail($row['mail'], $oggetto, $messaggio, $headers)) {
            echo " mail a " . $row['mail'] . " inviata correttamente<br/>";
        } else {
            echo " errore invio mail a " . $row['mail'] . "<br/>";
        }
    }
//...
?>
 

Discussioni simili