<?
include('config.php');
include(mnminclude.'html1.php');
include(mnminclude.'ts.php');
global $users, $globals;
$from = "users";
$users = $db->get_results("select user_id, user_login, user_email from $from order by user_id asc");
foreach ($users as $user) {
if(preg_match("/^(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6}$/", $user->user_email)){
$to = $user->user_email;
$subject = "Newsletter mayo";
$message = file_get_contents('newsletter.html'); //Aquí indicamos la ruta de la plantilla
require_once(mnminclude.'mail.php');
send_mail_newsletter($to, $subject, $message);
}
}
?>
Si tienes activados los registros mediante fb, twitter y g+, como correo de los usuarios se pone únicamente usuario@facebook al registrarse, y no tendría sentido mandarles el correo, así que con el preg_match comprobamos que sea una dirección de email válida.
Ahora ejecutando este fichero php enviamos los correos a nuestros usuarios con un correo válido.
Un saludo, y espero que le sea de ayuda a alguien.
PD: Evidentemente se podría crear una interfaz para el envío, o crear un nuevo campo boolean en la base de datos de usuarios llamado newsletter para que los usuarios se suscriban o desuscriban a través de sus perfiles, pero esto ya queda a cargo de cada uno ;)