PHP - Enviar mails php - Mysql

   
Vista:

Enviar mails php - Mysql

Publicado por Facundo bertolifacundo@gmail.com (1 intervención) el 13/11/2014 15:13:44
Buenos dias comunidad. Bueno soy un principiante en este lenguaje y necesitaria una mano.
Estoy intentando enviar un mail a una lista de correos, la cual es extraida de una base de datos mysql. La idea es obtener las personas que cumplen años en el dia de hoy y enviarles un correo. He intentado muchas cosas y buscado pero no he podido hacerlo. Les paso el codigo para que me den una mano.

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
41
42
43
44
45
46
47
48
49
<?php
//lo primero cargar la librería
require '../PHPMailerAutoload.php';
//lo segundo, crear el objeto mail
$mail = new PHPMailer();
//Vamos a meter el cuerpo (cargado desde un html externo) en una variable
$body = file_get_contents('RV Vista Previa - Te deseamos Feliz Cumpleaños!.htm');
//definimos el uso de smtp
$mail->isSMTP();
//definimos el servidor que aloja nuestro correo
$mail->Host = 'vexchange.casinomagic.local';
//activamos la autenticación smtp
$mail->SMTPAuth = true;
//Con esta línea dejamos abierta la conexión al servidor smtp
$mail->SMTPKeepAlive = true;
//Definimos la seguridad, si nuestro server lo permite lo mejor es usar tls
$mail->SMTPSecure = 'tls';
//el puerto cambia según la seguridad. Para tls este, para ssl 456 y sin seguridad el 25
$mail->Port = 587;
//definimos usuario y contraseña
$mail->Username = 'casinomagic\bertolif';
$mail->Password = '041086FACUndo';
//ahora definimos remitente y si hace falta, réplica
$mail->setFrom('facundo_bertoli@casinomagic.com.ar', 'Lista');
$mail->addReplyTo('facundo_bertoli@casinomagic.com.ar', 'Lista');
 
$mail->Subject = "Ejemplo de lista con phpmailer";
 
//Vamos ahora a crear un objeto de conexión a la base de datos
//Tras eso, vamos a recuperar los datos que necesitamos:
$mysqli = new mysqli('192.168.100.211', 'root', '', 'clientes');
$mysqli->set_charset("utf8")
$result = $mysqli->query("SELECT correo FROM lista ORDER BY correo ASC");
 
//ahora en bluce vamos recorriendo los resultados y enviando correos
 
while ($row = $result->fetch_array()) {
    $mail->AltBody = 'Para ver el menasje, please use un  visor de email compatible con HTML';
    $mail->msgHTML($body);
    $mail->addAddress($row['correo'], $row['nombre']);
 
    if (!$mail->send()) {
        echo "Mailer Error:" . $mail->ErrorInfo . "<br />";
        break; //forzamos la salida del bucle en caso de error
    }
    // Limpiamos los datos par próximos envíos
    $mail->clearAddresses();
    $mail->clearAttachments();
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Enviar mails php - Mysql

Publicado por xve (5512 intervenciones) el 13/11/2014 20:13:26
Hola Facundo, a simple vista, no te se decir donde tienes el error...

has revisado el log del apache, si te indica algun error?

Podrías poner un:
echo $row['correo'];

para ir visualizando a los correos que se envian.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar