Foros del Web » Programando para Internet » PHP »

Envio de mail con php y bd no me funciona!

Estas en el tema de Envio de mail con php y bd no me funciona! en el foro de PHP en Foros del Web. Hola! tengo el siguiente code que su función es enviar emails a todos los usuarios de la base de datos depende de su nivel de ...
  #1 (permalink)  
Antiguo 25/03/2004, 08:28
Avatar de andinistas  
Fecha de Ingreso: julio-2003
Ubicación: Bogotá COL
Mensajes: 1.000
Antigüedad: 20 años, 9 meses
Puntos: 0
Envio de mail con php y bd no me funciona!

Hola!

tengo el siguiente code que su función es enviar emails a todos los usuarios de la base de datos depende de su nivel de acceso,

por ejemplo si yo quiero enviar los usuarios tipo A, previamente en la composición del mensaje selecciono de una lista deplegable y le paso el valor 3 si se elegió la opcion (usuarios tipo A) y asi sucesivamente si elijo el Usuario tipo B (2), o Usuario tipo C (1)

ok despues de enviar esa variable por post (nivel_acceso)

tengo que enviar los correos a los usuarios que tienen nivel de acceso escogido previamente, como ejemplo elijo Usuario A cuyo valor es 3

Código PHP:

<?
$nivel_acceso 
$_POST[nivel_acceso];

if (
$_POST){ 

//mi conexion con la db
include ("../../include/conex.php");

//Sentencia sql
$emailforall mysql_query("SELECT * FROM usuarios WHERE nivel_acceso='$nivel_acceso'",$conexion);


while(
$row mysql_fetch_object($emailforall)){ 


$sfrom $_POST["deemail"];
$sdestinatario $_POST["sdestinatario"];
$ssubject $_POST["subject"];
$shtml $_POST["mensaje"];

$encabezados  "MIME-Version: 1.0\n";
$encabezados .= "Content-type: text/html; charset=iso-8859-1\n";
$encabezados .= "From: $deemail <$sfrom>\n";
$encabezados .= "X-Sender: <$sfrom>\n";
$encabezados .= "X-Mailer: PHP\n";
$encabezados .= "X-Priority: 1\n"
$encabezados .= "Return-Path: <$sfrom>\n";
mail($sdestinatario,$ssubject,$shtml,$encabezados);

//end while
}

?>

no sé si estará bien este code, pero a veces no me llegan los correos que envio, como prueba lo he colocado en una tabla aparte de los usuarios reales con los mismos datos y he asignado 9 correos que manejo a diario con diferente nivel de acceso para probar esto pero en realidad no me funciona

si me pueden aconsejar sobre esto


__________________
Un Saludo, Andinistas.
"Llegaron... Ellos tenían la biblia y nosotros la tierra... y nos dijieron: 'Cierren los ojos y recen.' Cerramos los ojos y cuando los abrimos,
ellos tenían la tierra y nosotros la biblia." Abadío Green.

Última edición por andinistas; 25/03/2004 a las 08:30
  #2 (permalink)  
Antiguo 25/03/2004, 12:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
pero ..

$sdestinatario = $_POST["sdestinatario"];

no se supone que tendrá que ser el e-mail del usuario que vas obteniendo de tu BD bajo tu while() ... Por qué .. no veo donde usas algún dato de $row['dato'] ...

Por otro lado Yo usaría ..

Código PHP:
if (isset($_POST)){ 
$nivel_acceso $_POST['nivel_acceso']; 
en lugar de:

$nivel_acceso = $_POST['nivel_acceso'];
if ($_POST) {

y mejor todavía validaría una por una todas las variables que sean obligatórias .. no sólo el "metodo" POST en general.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 25/03/2004, 13:58
Avatar de andinistas  
Fecha de Ingreso: julio-2003
Ubicación: Bogotá COL
Mensajes: 1.000
Antigüedad: 20 años, 9 meses
Puntos: 0
si

si me hacia falta enlazarlo con la bd

Código PHP:
<?

if ($_POST){ 

$nivel_acceso $_POST['nivel_acceso'];

if (isset(
$_POST)){ 
echo 
"Seleccione el tipo de usuario";
include (
"../../include/selectwrite_users.php");

echo 
"<form name='form1' method='post' action='mail_grupos.php'>";
echo 
"<input name='Submit' type='submit' class='subtitlelink' value='Enviar Correo'>";
echo 
"</form>";
exit;
}

include (
"../../include/conex.php");

//Sentencia sql
$emailforall mysql_query("SELECT * FROM $tablaalex WHERE nivel_acceso='$nivel_acceso'",$conexion);

//muestro result
while($row mysql_fetch_object($emailforall)){ 


$sfrom $_POST["deemail"];
$sdestinatario $row->email;  // AQUI
$ssubject $_POST["subject"];
$shtml $_POST["mensaje"];

$encabezados  "MIME-Version: 1.0\n";
$encabezados .= "Content-type: text/html; charset=iso-8859-1\n";
$encabezados .= "From: $deemail <$sfrom>\n";
$encabezados .= "X-Sender: <$sfrom>\n";
$encabezados .= "X-Mailer: PHP\n";
$encabezados .= "X-Priority: 1\n"
$encabezados .= "Return-Path: <$sfrom>\n";
mail($sdestinatario,$ssubject,$shtml,$encabezados);

//end while
}

?>
__________________
Un Saludo, Andinistas.
"Llegaron... Ellos tenían la biblia y nosotros la tierra... y nos dijieron: 'Cierren los ojos y recen.' Cerramos los ojos y cuando los abrimos,
ellos tenían la tierra y nosotros la biblia." Abadío Green.
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 11:20.