Foros del Web » Programando para Internet » PHP »

Problema con funcion mail, no se envia el correo

Estas en el tema de Problema con funcion mail, no se envia el correo en el foro de PHP en Foros del Web. hola amigos , les comento q estoy trabajando en mi proyecto de un carrito de compras , y tengo un problema para enviar Mail , ...
  #1 (permalink)  
Antiguo 15/12/2012, 21:03
 
Fecha de Ingreso: noviembre-2011
Mensajes: 8
Antigüedad: 13 años
Puntos: 1
Problema con funcion mail, no se envia el correo

hola amigos , les comento q estoy trabajando en mi proyecto de un carrito de compras , y tengo un problema para enviar Mail , ya q necesito q cuando un cliente realice una compra , se le envie un Mail a su correo con algunos detalles de la compra.

Código PHP:
<?php
include("class/lib_carrito.class.php");
include(
"funciones.php");
include(
"Connections/cnn.php");

$usu=$_SESSION['idusu'];
$query="SELECT * FROM usuarios where id=$usu ";
$rs=mysql_query($query$cnn) or die(mysql_error());
$fila=mysql_fetch_array($rs);
$email=$fila['email'];
<?
php
// El mensaje
$para $email;
$mensaje "Holaaaaaaa";

// En caso de que cualquiera de las líneas sea más larga de 70 caracteres,
// debe usarse wordwrap()
$mensaje wordwrap($mensaje70);
$cabeceras 'From: [email protected]"\r\n" .
    
'Reply-To: [email protected]"\r\n" .
    
'X-Mailer: PHP/' phpversion();
ini_set "SMTP""smtp-server.example.com" ); 

// Send
mail($para'Detalles de la compra'$mensaje$cabeceras);// esta es la linea 62 q se menciona en el error
?>
Este es el respectivo codigo , yo la verdad no entiendo mucho aun sobre el correcto uso de esta funcion , pero investigue algo y pude armar eso ,,, iguamente el mail no se esta enviando !! Por favor podrian darme una mano o ver donde puede estar el error ?

(subi la pagina a un hosting gratuito y la pruebo desde ahi)
Me sale este error cuando ejecuto la pagina:
Warning: mail() [function.mail]: Failed to connect to mailserver at "smtp-server.example.com" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\dyjservice\grabar_carrito.php on line 62

Desde ya les agradezco gracias !
  #2 (permalink)  
Antiguo 15/12/2012, 21:48
 
Fecha de Ingreso: diciembre-2012
Mensajes: 24
Antigüedad: 11 años, 11 meses
Puntos: 2
Respuesta: Problema con funcion mail, no se envia el correo

Hola... Ese error normalmente pasa cuando el servicio para envíos de email a una fuente externa no está correctamente configurado, debes consultar cual es tu servidor de email y como es la configuración para enviar correos externos.
  #3 (permalink)  
Antiguo 15/12/2012, 21:53
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 9 meses
Puntos: 288
Respuesta: Problema con funcion mail, no se envia el correo

por que no usas phpmailer?
le ingresas los datos necesarios y listo.

esos datos se los pedis al hosting o lo haces vos por cpanel, es muy facil.

eso no falla nunca
  #4 (permalink)  
Antiguo 15/12/2012, 22:03
 
Fecha de Ingreso: noviembre-2011
Mensajes: 8
Antigüedad: 13 años
Puntos: 1
Respuesta: Problema con funcion mail, no se envia el correo

gracias por respoder :D! ya me funciona el mail , resulta q lo estaba probando desde el local sin contar con ningun servidor de mails :S

y al probarlo desde el hosting ,,, funciono perfectamente

si se me presenta algun otro problemita les aviso si? :P

gracias
  #5 (permalink)  
Antiguo 16/12/2012, 14:09
 
Fecha de Ingreso: noviembre-2011
Mensajes: 8
Antigüedad: 13 años
Puntos: 1
Respuesta: Problema con funcion mail, no se envia el correo

bueno se me presento un nuevo problema con esto del mail :/

el mail se envia y se ve perfectamente pero no me toma el codigo PHP que estoy introduciendo dentro del HTML

Tengo q enviar un mail con datos q estan almacenados en la base de datos y tambien acceder a las variables de sesion $_SESSION['ocarrito'] ,, pero cuando el mail se envia , no aparece nada , solo espacios vacios :S (osea si aparece todo lo HTML pero lo PHP no aparece nada)

un ejemplo simple de mi problema seria:

Código PHP:
$para $email;
$mensaje ='
<html>
<head>
<title>Titulo de pruba</title>
</head>
<body>
<p>Hola estimado $usuario le enviamos este mensaje con los detalles de su compra reciente</p> 
</body>// esa variable $usuario no me esta funcionando , no me la toma
</html>
'
;

//cabeceras para el envio de mensajes en PHP
$cabecera "MIME-Version: 1.0\r\n";
$cabecera.= "Content-Type: text/html; charset=iso-8859-1\r\n";
//cebeceras para el remitente
$cabecera.= "From: DyJ Service<[email protected]>";

// Send
if(mail("$para""Detalles de la compra"$mensaje$cabecera)){
    echo 
"Estimado $usuario, se a enviado un email a su direcciion de correo\n con los detalles de su compra , $email ";
}else{
    echo 
"No se pudo enviar el email";
}
?> 
ahi por ejemplo , en ves de aparecerme el contenido de la variable $usuario solo me aparece asi como esta escrito... :"Hola estimado $usuario..." y tambien cuando utilizo una variable de session lo mismo , no me aparece.

(las variables estan definidas pero no las muestro porq si funcionan, ya que en el IF si funciona y si aparece el contenido de la variable $usuario , pero no en el MAIL)

¿Acaso tengo que realizar algun cambio en la cabecera para q me tome el codigo PHP dentro del HTML ?
¿Se puede enviar un correo que ejecute una funcion de una variable de sesion como $_SESSION["ocarrito"]->imprime_carrito()... ?? O si necesito utilizar un IF o un WHILE(en el mensaje) ,, te lo permite la funcion mail ??

Cualkier ayuda es bien recibida , gracias

Última edición por mr_pollo; 16/12/2012 a las 16:48

Etiquetas: correo, envia, funcion, mail, sql, usuarios
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 22:01.