Foros del Web » Programando para Internet » PHP »

enviar correo por cumpleaños

Estas en el tema de enviar correo por cumpleaños en el foro de PHP en Foros del Web. He leido muchos articulos y he probado varias cosas sin llegar a buen puerto, me gustaria saber como poder hacer un envio automatico cuando es ...
  #1 (permalink)  
Antiguo 10/11/2009, 08:59
 
Fecha de Ingreso: noviembre-2009
Mensajes: 13
Antigüedad: 14 años, 5 meses
Puntos: 0
enviar correo por cumpleaños

He leido muchos articulos y he probado varias cosas sin llegar a buen puerto, me gustaria saber como poder hacer un envio automatico cuando es la fecha de cumpleaños de una persona. En mi servidor de ******* he visto que tengo tabla cron.
Si alguien me pudiera ayudar el campo que tengo es fecha tipo date formato predeterminado 0000-00-00

Muchas gracias
  #2 (permalink)  
Antiguo 10/11/2009, 09:09
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: enviar correo por cumpleaños

SELECT nombre_persona, otros_datos FROM tu_tabla WHERE fecha = NOW();

si hay resultados.. envias un mail a la persona correspondiente .. ?
  #3 (permalink)  
Antiguo 10/11/2009, 09:19
 
Fecha de Ingreso: noviembre-2009
Mensajes: 13
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: enviar correo por cumpleaños

Cita:
Iniciado por Hidek1 Ver Mensaje
SELECT nombre_persona, otros_datos FROM tu_tabla WHERE fecha = NOW();

si hay resultados.. envias un mail a la persona correspondiente .. ?
include("conexion.php");
$link=Conectarse();
$result=mysql_query("select nombre,apellidos,fecha,mail from datos WHERE fecha = NOW();",$link);

Seria asi? Ahora tocaria enviar mail simple Feliz Cumpleaños.
  #4 (permalink)  
Antiguo 10/11/2009, 11:33
 
Fecha de Ingreso: noviembre-2009
Mensajes: 13
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: enviar correo por cumpleaños

<?php
include("conexion.php");
$link=Conectarse();
$result=mysql_query("select nombre,apellidos,fecha,mail from datos WHERE fecha = NOW();",$link);
$to = '$mail';
$subject = 'Feliz Cumpleaños';
$message = 'El equipo de BTT te desea un feliz cumpleaños.';
$headers = 'From: [email protected]' . "\r\n" .

mail($to, $subject, $message, $headers);


?>

El archivo se llama cumple.php que lo tendre que poner al table cron al final en mi servidor para que envie automaticamente.

El problema que tal como esta no envia ningun email.
  #5 (permalink)  
Antiguo 10/11/2009, 11:35
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: enviar correo por cumpleaños

usa phpmailer
  #6 (permalink)  
Antiguo 10/11/2009, 11:48
 
Fecha de Ingreso: noviembre-2009
Mensajes: 13
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: enviar correo por cumpleaños

Sigo sin entender como coger el mail para que envie ya que he probado lo que me has dicho y me pone mail enviado y no recibo ninguno.

Última edición por revluna; 10/11/2009 a las 11:58
  #7 (permalink)  
Antiguo 10/11/2009, 12:08
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: enviar correo por cumpleaños

Ya en primer lugar cuando uses un cron job y utilizas includes en tu script... vas a tener que mencionar las rutas absolutas ... osea en tu include("conexion.php"); vas a tener que poner

include ("/home/usuarioserver/public_html/conexion.php");

Ahora, la fecha que tienes en la BD es la fecha de nacimiento o la fecha de cumpleaños?? porque si es de nacimiento vas a tener que formatearlo al año actual, pero si es de cumpleaños es sencillo:

* Primero buscas los datos:

Código PHP:
$sql="select fecha_cumple, correo from amigo";
$result =mysql_query($sql,$c); 
*Ahora supongamos que te salen varios datos... vas a tener que recorrer el resultado y enviar los correos dentro de un for o while.

Código PHP:

$fecha_actual
=strftime("%Y-%m-%d"time());

while(
$row mysql_fetch_array($result)) {
      
$fecha_cumple $row["fecha_cumple"];
      
$mail $row["correo"];

     if(
$fecha_cumple==$fecha_actual){

        
$to $mail;
        
$subject 'Feliz Cumpleaños';
        
$message 'El equipo de BTT te desea un feliz cumpleaños.';
        
$headers 'From: [email protected]"\r\n" .

        
mail($to$subject$message$headers);
    }

Si te das cuenta, dentro del while comparo la fecha de la BD con la fecha actual... si son iguales, se envia el correo...
__________________
Quitenme la vida pero no la bebida.
  #8 (permalink)  
Antiguo 10/11/2009, 12:09
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: enviar correo por cumpleaños

sale mas corto traer solo los de cumpleaños desde SQL
  #9 (permalink)  
Antiguo 10/11/2009, 12:38
 
Fecha de Ingreso: noviembre-2009
Mensajes: 13
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: enviar correo por cumpleaños

Cita:
Iniciado por cesarpunk Ver Mensaje
Ya en primer lugar cuando uses un cron job y utilizas includes en tu script... vas a tener que mencionar las rutas absolutas ... osea en tu include("conexion.php"); vas a tener que poner

include ("/home/usuarioserver/public_html/conexion.php");

Ahora, la fecha que tienes en la BD es la fecha de nacimiento o la fecha de cumpleaños?? porque si es de nacimiento vas a tener que formatearlo al año actual, pero si es de cumpleaños es sencillo:

* Primero buscas los datos:

Código PHP:
$sql="select fecha_cumple, correo from amigo";
$result =mysql_query($sql,$c); 
*Ahora supongamos que te salen varios datos... vas a tener que recorrer el resultado y enviar los correos dentro de un for o while.

Código PHP:

$fecha_actual
=strftime("%Y-%m-%d"time());

while(
$row mysql_fetch_array($result)) {
      
$fecha_cumple $row["fecha_cumple"];
      
$mail $row["correo"];

     if(
$fecha_cumple==$fecha_actual){

        
$to $mail;
        
$subject 'Feliz Cumpleaños';
        
$message 'El equipo de BTT te desea un feliz cumpleaños.';
        
$headers 'From: [email protected]"\r\n" .

        
mail($to$subject$message$headers);
    }

Si te das cuenta, dentro del while comparo la fecha de la BD con la fecha actual... si son iguales, se envia el correo...
================================================== =========================================

Sobre tu duda si pongo la fecha de nacimiento porque es necesaria.
  #10 (permalink)  
Antiguo 01/02/2010, 13:59
 
Fecha de Ingreso: enero-2010
Mensajes: 3
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: enviar correo por cumpleaños

este tema me parece que no se ha resuelto me gustaria hacer lo mismo enviar por correo las personas que se encuentren de cumpleaños tengo la base de datos pero no se como hacer las instrucciones para que los envie por correo si alguien me puede ayudar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:09.