Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] no funciona el php mail

Estas en el tema de no funciona el php mail en el foro de PHP en Foros del Web. Amigos una consulta porque no llega al correo el mensaje enviado por php, me sale como mensaje "Mensaje enviado" entonz podria decir que si se ...
  #1 (permalink)  
Antiguo 19/10/2014, 12:21
 
Fecha de Ingreso: octubre-2009
Mensajes: 97
Antigüedad: 15 años, 1 mes
Puntos: 1
no funciona el php mail

Amigos una consulta porque no llega al correo el mensaje enviado por php, me sale como mensaje "Mensaje enviado" entonz podria decir que si se envia, pero nunca llega, e cambiado por otros correo, pero nada, se que llega a correo no deseado, pero ni ahi llega, cual es mi error? este codigo me funcionaba antes.


Código HTML:
$para="[email protected]";
				$asunto="Mensaje desde el sitio web";
				
				$msg='
				<html>
				<head>
				<title>Mensaje VK</title>
				</head>
				<body>
					<strong>Persona:</strong>&nbsp;&nbsp;'.$nom." ".$ape.'
					<br><br>
					<strong>RUC:</strong>&nbsp;&nbsp;'.$ruc.'
					<br><br>
					<strong>Correo:</strong>&nbsp;&nbsp;'.$correo.'
					<br><br>
					<strong>Teléfono:</strong>&nbsp;&nbsp;'.$telefono.'
					<br><br>
					<strong>Ciudad:</strong>&nbsp;&nbsp;'.$ciudad.'
					<br><br>
					<strong>Mensaje:</strong><br>'.$mensaje.'
				</body>
				</html>
				';
				
				$cabecera="MIME-Version: 1.0\r\n";
				$cabecera.="Content-type: text/html; charset=iso-8859-1; \r\n";
				$cabecera.="From: $nom \r\n";
				$cabecera.="To: $para; \r\n Subject:$asunto \r\n";
				
				mail($para, $asunto, $mensaje);
				
				if(mail($para,$asunto,$msg,$cabecera)){
					echo "¡Mensaje enviado!";
				}else{
					echo "¡Fallo el envio!";
				}
  #2 (permalink)  
Antiguo 19/10/2014, 15:05
Avatar de GeekGirl  
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 10 años, 4 meses
Puntos: 44
Respuesta: no funciona el php mail

En realidad no estás comparando contra el resultado del primer envío. Deberías guardar el return del la función mail en una variable y luego cotejar contra la misma:

Código PHP:
<?php
    $sentMail 
mail($para$asunto$mensajecabecera);
                
    if(
$sentMail ){
        echo 
"¡Mensaje enviado!";
    }else{
        echo 
"¡Fallo el envio!";
    }
?>
  #3 (permalink)  
Antiguo 20/10/2014, 22:56
 
Fecha de Ingreso: octubre-2009
Mensajes: 97
Antigüedad: 15 años, 1 mes
Puntos: 1
Respuesta: no funciona el php mail

oh gracias, sintácticamente lo veia bien, y mas porque antes me funcionaba bien, por eso no pensé que fuese necesario crear otra variable, porque la sentencia dentro del if lo deberia ejecutar, pero capas es cosa del hosting , porque ahora que e seguido tu consejo creando la variable enviar correo si me funciono, muchas gracias por la ayuda.
  #4 (permalink)  
Antiguo 21/10/2014, 06:11
Avatar de GeekGirl  
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 10 años, 4 meses
Puntos: 44
Respuesta: no funciona el php mail

Si ejecutás la sentencia dentro del if, entonces no llames a la función por fuera. Estabas intentando mandar dos veces un mail, en uno con cabeceras y en otro no. Y si te fijás, en la primera llamada a la función mail(), estabas usando una variable $mensaje que no está definida en ninguna parte.

Saludos :)

Etiquetas: html, mail
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:24.