Saltar al contenido
Codifíca.me | Desarrollo web | Programación

Enviar email a todos los usuarios

30 noviembre, 2012

Con este sencillo script podemos enviar un mail a todos los usuarios de un WordPress.

Primero creamos la cadena de conexión que nos valdrá para realizar esta y cualquier otra operación que hagamos con la base de datos.

El fichero lo llamaremos igual que el include que haremos más tarde, en este caso se llamará conexion.php
El código sería así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
function Conectarse()
{
   if (!($conectado=mysql_connect("host.com","user,"password1")))
   {
      echo "Error conectando a la base de datos.";
      exit();
   }
   if (!mysql_select_db("basededatos",$conectado))
   {
      echo "Error seleccionando la base de datos.";
      exit();
   }
   return $conectado;
}
?>

Desde este php llamaremos al fichero conexion.php y una vez que esté conectado realizamos una select que nos devolverá todos los usuarios, después concatenamos cada uno de los resultados para formar la cadena de destinatarios. Y finalmente enviamos el email.

El código sería así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
      include("conexion.php");
 
         $conectado=Conectarse();
 
 
         if($conectado){
 
          $sqlFecha= "SELECT user_email
                 FROM  `wp_users`";
 
          $resSqlFecha = mysql_query($sqlFecha) or mysql_error();	
 
          if (!$resSqlFecha) {
		echo "fallo la consulta de los email ".$resSqlFecha;
		mysql_close($conectado);
		return 0;
		} else {
 
 
          $intwhile=0;
	  while ($result_rowFecha = mysql_fetch_row(($resSqlFecha))) {
	   $destinatario .= $result_rowFecha[$intwhile] . ",";
	   echo	 $destinatario;
	   $intwhile++;
	   }				   
	   }  
			}              
 
$asunto = "Infomarcal Ruta"; 
$cuerpo = " 
 Se han creado sus rutas correctamente, 
ya pueden verlas en la página de Infomarcal."; 
 
 
$headers = "
From: Email de <no-reply@infomarcal.com>\r\n  $destinatario "; 
 
mail($destinatario,$asunto,$cuerpo,$headers) ;
?>