Foros del Web » Programando para Internet » PHP »

problema con envio de correo

Estas en el tema de problema con envio de correo en el foro de PHP en Foros del Web. Tengo un error bastante extraño, tengo este script @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código php: Ver original //Se crea el formato de correo a Enviar $mail = new ...
  #1 (permalink)  
Antiguo 07/06/2009, 21:46
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
problema con envio de correo

Tengo un error bastante extraño,

tengo este script

Código php:
Ver original
  1. //Se crea el formato de correo a Enviar
  2. $mail=new PHPMailer();
  3. $mail->Mailer="smtp";
  4. $mail->Helo = "www.crmbusiness.biz"; //Muy importante para que llegue a hotmail y otros
  5. $mail->SMTPAuth=true;
  6. $mail->Host="smtpout.secureserver.net";
  7. $mail->Port=80; //depende de lo que te indique tu ISP. El default es 25, pero nuestro ISP lo tiene puesto al 26
  8. $mail->Username="******";
  9. $mail->Password="*****";
  10. $mail->From="[email protected]";
  11. $mail->FromName="Escenario Persuasivo";
  12. $mail->Timeout=60;
  13. $mail->IsHTML(true);
  14. //Enviamos el correo
  15. $mail->AddAddress('[email protected]'); //Puede ser Hotmail
  16. $mail->AddAddress($email); //Puede ser Hotmail
  17. $mail->Subject='Inscripcion Exitosa';
  18.  
  19.  
  20. //Cuerpo del mensaje
  21. $body = $nombre."Tu inscripcion al ".$evento." quedo registrada de la siguiente manera";
  22. $body.= "<table width='420' border='0'>";
  23. $body.="<tr>";
  24. $body.="<td><b>Tipo de Documento</b></td>";
  25. $body.="<td>".$tipodoc."</td>";
  26. $body.="</tr>";
  27. $body.="<tr>";
  28. $body.="<td><b>Documento de Identidad</b></td>";
  29. $body.="<td>".$doc."</td>";
  30. $body.="</tr>";
  31. $body.="<tr>";
  32. $body.="<td><b>Nombres y Apellidos</b></td>";
  33. $body.="<td>".$nombre."</td>";
  34. $body.="</tr>";
  35. $body.="<tr>";
  36. $body.="<td><b>Correo Electronico</b></td>";
  37. $body.="<td>".$email."</td>";
  38. $body.="</tr>";
  39. $body.="<tr>";
  40. $body.="<td><b>Telefono de Contacto</b></td>";
  41. $body.="<td>".$telefono."</td>";
  42. $body.="</tr>";
  43. $body.="<tr>";
  44. $body.="<td><b>Celular</b></td>";
  45. $body.="<td>".$celular."</td>";
  46. $body.="</tr>";
  47. $body.="<tr>";
  48. $body.="<td><b>Empresa</b></td>";
  49. $body.="<td>".$empresa."</td>";
  50. $body.="</tr>";
  51. $body.="<tr>";
  52. $body.="<td><b>Cargo</b></td>";
  53. $body.="<td>".$cargo."</td>";
  54. $body.="</tr>";
  55. $body.="<td><b>Fecha de Inscripcion</b></td>";
  56. $body.="<td>".$fechahoy."</td>";
  57. $body.="</tr>";
  58. $body.="<tr>";
  59. $body.="<td><b>Hora de Inscripcion</b></td>";
  60. $body.="<td>".$horaactual."</td>";
  61. $body.="</tr>";
  62. $body.="<p>Recuerda que para hacer efectivo este registro y poder asistir debes consignar el valor de la inscripcion a la cuenta de ahorro n&uacute;mero <strong>0161 7036 0537</strong> del banco Davivienda, a nombre de CRM Business Internet &amp; Marketing Solutions NIT. 900.268.053-6 y enviar el comprobante de consignacion al eMAIL <a href='mailto:[email protected]'>[email protected] </a>indicando nombres completos, documento de identidad, telefono e contacto y empresa, o al fax 485 4441 </p>";
  63. $body.="<p>CRM Business - Telefono ++57 2 4854564</p>";
  64. $body.="<p><a href='mailto:[email protected]'>[email protected]</a></p>";
  65. $body.="<p>CALI - COLOMBIA</p>";
  66.  
  67. $mail->Body = $body;
  68. $mail->Send();

Resulta que lo probe hace un momento y funciono perfecto, pero ahora mismo lo estoy probando y ya no envia el correo, y no le he movido nada, que puede estar fallando? sera el puerto? el server que uso es de godaddy porque con gmail no pude
__________________
Say no more.......
  #2 (permalink)  
Antiguo 07/06/2009, 21:57
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problema con envio de correo

pues, primero... debes verificar si hay algun error.. ¿no crees??

Código PHP:
if ( ! $mail->Send())
{
  echo 
'Error: ' $mail->ErrorInfo;
}
else
{
  echo 
'Mail enviado!';

por cierto, yo he probado con GMail y va perfecto!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 08/06/2009, 01:29
Avatar de danielrivas  
Fecha de Ingreso: noviembre-2007
Ubicación: Preprocessing
Mensajes: 275
Antigüedad: 16 años, 5 meses
Puntos: 6
Respuesta: problema con envio de correo

No será que tratas de enviarlo en tu PC localmente??
  #4 (permalink)  
Antiguo 08/06/2009, 03:10
 
Fecha de Ingreso: mayo-2009
Mensajes: 10
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: problema con envio de correo

Hola tengo el siguiente codigo para envio de correo

<?php
// CONFIGURACION CORREO
$destinatario = "[email protected]";
$destinatario_cc = "";
$destinatario_bcc = "";
$asunto = "Contacto Web";
$mensaje = "";
$campos_obligatorios = Array();
$campo_nombre = "nombre y apellidos"; // Campo del formulario con el nombre del visitante
$campo_correo = "email"; // Campo del formulario con el correo del visitante
// CONFIGURACION HTML
$enviado_bien = "Su formulario ha sido enviado correctamente";
$enviado_mal = "ERROR: No se pudo enviar";
// RECOGER DATOS
reset ($_POST);
$mensaje .= "<table border=\"1\">";
while (list ($clave, $valor) = each ($_POST)) {
$clave = htmlspecialchars($clave);
$valor = htmlspecialchars(trim($valor));
$mensaje .= "<tr><th>" . $clave . "</th><td>" . $valor . "</td></tr>";
}
$mensaje .= "<tr><th>Fecha petición:</th><td>" . date("d/m/Y H:i:s") . "</td></tr>";
$mensaje .= "</table>";
// VARIABLES INTERNAS
$nombre = $_POST[$campo_nombre];
$correo = $_POST[$campo_correo];
$cabeceras = "MIME-Version: 1.0\r\n"; //para el envío en formato HTML
$cabeceras .= "Content-type: text/html; charset=iso-8859-1\r\n";
if ($correo != "") { $cabeceras .= "From: " . $nombre . " <" . $correo . ">\r\n"; // Dirección del remitente
$cabeceras .= "Reply-To: " . $nombre . " <" . $correo . ">\r\n"; // Dirección de respuesta }
if ($destinatario_cc != "") { $cabeceras .= "Cc: " . $destinatario_cc . "\r\n"; }
if ($destinatario_bcc != "") { $cabeceras .= "Bcc: " . $destinatario_bcc . "\r\n"; }
if (mail($destinatario, $asunto, $mensaje, $cabeceras)) {
echo $enviado_bien;
}else {
echo $enviado_mal;
}
?>




Cuando pongo la direccion en el navegador me da el siguiente error:
Parse error: syntax error, unexpected $end in /homepages/16/d285228587/htdocs/formulario.php on line 53

cual es el problema?
  #5 (permalink)  
Antiguo 08/06/2009, 03:20
Avatar de danielrivas  
Fecha de Ingreso: noviembre-2007
Ubicación: Preprocessing
Mensajes: 275
Antigüedad: 16 años, 5 meses
Puntos: 6
Respuesta: problema con envio de correo

Cual es la linea 53?? Porque con un error de sintaxis dificilmente va a funcionar el envio...
  #6 (permalink)  
Antiguo 08/06/2009, 03:34
 
Fecha de Ingreso: mayo-2009
Mensajes: 10
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: problema con envio de correo

No hay nada en la linea 53, viene despues de
51</body>
52</html>
  #7 (permalink)  
Antiguo 08/06/2009, 03:37
Avatar de danielrivas  
Fecha de Ingreso: noviembre-2007
Ubicación: Preprocessing
Mensajes: 275
Antigüedad: 16 años, 5 meses
Puntos: 6
Respuesta: problema con envio de correo

entonces es que hay alguna llave { sin cerrar...

if ($correo != "") { está sin cerrar...coloca una llave } al final

Un saludo
  #8 (permalink)  
Antiguo 08/06/2009, 03:39
 
Fecha de Ingreso: mayo-2009
Mensajes: 10
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: problema con envio de correo

La verdad es que soy novata en esto del php, pero le pongo ganas. Este formulario de correo me da problemas pero tengo este otro que me funciona y me llega correctamente al email pero los campos cuando los rellenas en el navegador me llegan vacios al email, si no te importa prefiera que me digas cual es el problema en este ya que por lo menos llegar llega.

<style type="text/css">
<!--
#apDiv1 {
position:absolute;
width:506px;
height:668px;
z-index:1;
left: 253px;
top: 17px;
text-align: right;
}
-->
</style>
</head>

<body>
<div id="apDiv1">
<?

if (!$HTTP_POST_VARS){
?>


<form action="send.php" method="post" enctype="application/x-www-form-urlencoded" name="Contacto" id="Contacto">
<p>
<label>Nombre y apellidos
<input name="Nombre y apellidos" type="text" id="Nombre y apellidos" size="50" />
</label>
</p>
<p>
<label>E-mail
<input name="E-mail" type="text" id="E-mail" size="50" />
</label>
</p>
<p>
<label>Telefono fijo
<input name="Telefono fijo" type="text" id="Telefono fijo" size="50" />
</label>
</p>
<p>
<label>Telefono movil
<input name="Telefono movil" type="text" id="Telefono movil" size="50" />
</label>
</p>
<p>
<label>Tipo de inmueble
<select name="Tipo de inmueble" id="Tipo de inmueble">
<option selected="selected">Vivienda</option>
<option>Oficina</option>
<option>Local</option>
<option>Garaje</option>
<option>Nave</option>
<option>Chalet</option>
<option>Bungalow</option>
<option>Trastero</option>
</select>
</label>
</p>
<p>
<label>Gestion a realizar
<select name="Gestion a realizar" id="Gestion a realizar">
<option selected="selected">Venta</option>
<option>Alquiler</option>
</select>
</label>
</p>
<p>
<label>Descripcion de la propiedad
<textarea name="Descripcion de la propiedad" id="Descripcion de la propiedad" cols="45" rows="5"></textarea>
</label>
</p>
<p>&nbsp;</p>
<p>
<label>Comentarios y sugerencias
<textarea name="Comentarios y sugerencias" id="Comentarios y sugerencias" cols="45" rows="5"></textarea>
</label>
</p>
<p>
<label>
<input type="submit" name="Enviar" id="Enviar" value="Enviar" />
</label>
</form>
<?
}else{

//Estoy recibiendo el formulario, compongo el cuerpo
$cuerpo = "Formulario enviado\n";
$cuerpo .= "Nombre y apellidos:". $HTTP_POST_VARS["campo_nombre"] . "\n";
$cuerpo .= "Email: " . $HTTP_POST_VARS["campo_email"] . "\n";
$cuerpo .= "Telefono fijo: " . $HTTP_POST_VARS["campo_telefono fijo"] . "\n";
$cuerpo .= "Telefono movil: " . $HTTP_POST_VARS["campo_telefono movil"] . "\n";
$cuerpo .= "Tipo de inmueble: " . $HTTP_POST_VARS["campo_tipo de inmueble"] . "\n";
$cuerpo .= "Gestion a realizar: " . $HTTP_POST_VARS["campo_gestion a realizar"] . "\n";
$cuerpo .= "Descripcion de la propiedad: " . $HTTP_POST_VARS["campo_descripcion de la propiedad"] . "\n";
$cuerpo .= "Comentarios y sugerencias: " . $HTTP_POST_VARS["campo_comentarios y sugerencias"] . "\n";
//mando el correo...
mail("[email protected]","Contacto Web",$cuerpo);

//doy las gracias por el envío
echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";
}
?>

</div>
  #9 (permalink)  
Antiguo 08/06/2009, 03:44
Avatar de danielrivas  
Fecha de Ingreso: noviembre-2007
Ubicación: Preprocessing
Mensajes: 275
Antigüedad: 16 años, 5 meses
Puntos: 6
Respuesta: problema con envio de correo

Te recomiendo que uses el primero, pero si usas este otro, cambia $HTTP_POST_VARS por $_POST

Además, la razón por la que te llega vacío es porque en el formulario usas etiquetas id y name diferentes a los nombres de variable que utilizas para el envío de mail...

Por ejemplo, si quieres generar una variable $_POST["campo_nombre"], Al campo "Nombre y apellidos" debes ponerle una etiqueta id y name "campo_nombre" en vez de "Nombre y apellidos"

Un saludo
  #10 (permalink)  
Antiguo 08/06/2009, 03:48
 
Fecha de Ingreso: mayo-2009
Mensajes: 10
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: problema con envio de correo

Voy a probar y te cuento. Eres muy amable.
  #11 (permalink)  
Antiguo 08/06/2009, 03:50
Avatar de danielrivas  
Fecha de Ingreso: noviembre-2007
Ubicación: Preprocessing
Mensajes: 275
Antigüedad: 16 años, 5 meses
Puntos: 6
Respuesta: problema con envio de correo

Suerte!!

Si tienes algún otro problemilla, vuelve por aquí.

Un saludo
  #12 (permalink)  
Antiguo 08/06/2009, 04:05
 
Fecha de Ingreso: mayo-2009
Mensajes: 10
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: problema con envio de correo

En el anterior formulario hice lo que me dijiste, cerré con la llave y ha funcionado, por esta parte "Gracias" pero ahora el problema es el siguiente, este codigo viene unido a este otro en html:

#apDiv1 {
position:absolute;
width:629px;
height:381px;
z-index:1;
left: 277px;
top: 51px;
}
#apDiv1 {
}
#apDiv1 {
text-align: right;
}
.uno {
text-align: center;
}
#apDiv1 #form2 label {
font-family: "Century Gothic";
color: #1E430C;
font-weight: bold;
}
.dos {
}
-->
</style>
<head>

</body>
<div id="apDiv1">
<form id="form1" name="form1" method="post" action="formulario.php">
</form>
<form action="" method="post" enctype="application/x-www-form-urlencoded" name="form2" id="form2">
<label>Nombre y <span class="uno">apellidos</span>
<input name="nombre y apellidos" type="text" id="nombre y apellidos" size="50" />
<br />
E-mail
<input name="email" type="text" id="email" size="50" />
<br />
Telefono fijo
<input name="telefono fijo" type="text" id="telefono fijo" size="50" />
<br />
Telefono movil
<input name="telefono movil" type="text" id="telefono movil" size="50" />
<br />
<br />
Tipo de inmueble
<select name="tipo de inmueble" id="tipo de inmueble">
<option>Vivienda</option>
<option>Oficina</option>
<option>Local</option>
<option>Garage</option>
<option>Trastero</option>
<option>Nave</option>
<option>Chalets</option>
<option>Bungalow</option>
</select>
<br />
<br />
<input type="radio" name="radio" id="venta" value="venta" />
Venta
<input type="radio" name="radio" id="alquiler" value="alquiler" />
Alquiler<br />
<span class="dos">Descripcion de la propiedad</span><br />
<textarea name="descripcion de la propiedad" id="descripcion de la propiedad" cols="45" rows="5"></textarea>
<br />
<br />
Comentarios y sugerencias
<textarea name="comentarios y sugerencias" id="comentarios y sugerencias" cols="45" rows="5"></textarea>
<br />
<input type="submit" name="enviar" id="enviar" value="Enviar" />
<br />
</label>
</form>
<p>&nbsp; </p>
</div>
</html>

cuando lo relleno a traves del navegar me dice lo siguiente:

El sitio web no puede mostrar la página
HTTP 405
  #13 (permalink)  
Antiguo 08/06/2009, 04:07
Avatar de danielrivas  
Fecha de Ingreso: noviembre-2007
Ubicación: Preprocessing
Mensajes: 275
Antigüedad: 16 años, 5 meses
Puntos: 6
Respuesta: problema con envio de correo

El formulario se envía a formulario.php y parece que no existe...

Además tienes dos etiquetas form...

Suprime esto:

<form id="form1" name="form1" method="post" action="formulario.php">
</form>


Y en esta línea, cambia el action por el PHP que procesa el formulario que hemos arreglado antes:
<form action="" method="post" enctype="application/x-www-form-urlencoded" name="form2" id="form2">
  #14 (permalink)  
Antiguo 08/06/2009, 04:22
 
Fecha de Ingreso: mayo-2009
Mensajes: 10
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: problema con envio de correo

Me ha funcionado a la perfeccion, muchas gracias de veras, me estaba volviendo loca, otra cosilla, el remitente del correo me llega el de la aplicacion por defecto como puedo hacer para que llegue como contacto web o similar, creo que esta es mi ultima pregunta... espero.
  #15 (permalink)  
Antiguo 08/06/2009, 04:32
Avatar de danielrivas  
Fecha de Ingreso: noviembre-2007
Ubicación: Preprocessing
Mensajes: 275
Antigüedad: 16 años, 5 meses
Puntos: 6
Respuesta: problema con envio de correo

Tienes que añadirle el remitente como cuarto argumento de la función mail

Código PHP:
//mando el correo...
$head    ="From: García Inmobiliaria<[email protected]>\n""MIME-Version: 1.0\n";
mail("[email protected]","Contacto Web",$cuerpo$head); 
Suerte!!
  #16 (permalink)  
Antiguo 08/06/2009, 04:40
 
Fecha de Ingreso: mayo-2009
Mensajes: 10
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: problema con envio de correo

Gracias, y mi ultima pregunta
que codigo debo de introducir en el formulario para que se puedan enviar fotografias o imagenes al mail?

si es muy complicado lo entenderé no te preocupes.
  #17 (permalink)  
Antiguo 08/06/2009, 05:01
Avatar de danielrivas  
Fecha de Ingreso: noviembre-2007
Ubicación: Preprocessing
Mensajes: 275
Antigüedad: 16 años, 5 meses
Puntos: 6
Respuesta: problema con envio de correo

Para adjuntar archivos te recomiendo la clase PHP Mailer

http://phpmailer.codeworxtech.com/
  #18 (permalink)  
Antiguo 08/06/2009, 05:06
 
Fecha de Ingreso: mayo-2009
Mensajes: 10
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: problema con envio de correo

De veras, muchas gracias por tu tiempo y tu paciencia.
  #19 (permalink)  
Antiguo 08/06/2009, 05:19
Avatar de danielrivas  
Fecha de Ingreso: noviembre-2007
Ubicación: Preprocessing
Mensajes: 275
Antigüedad: 16 años, 5 meses
Puntos: 6
Respuesta: problema con envio de correo

No hay de que...puede que el uso de esta clase y el adjuntar archivos te resulte complicado...pero es cuestión de paciencia...por el momento puedes usar el anterior.

Un saludo...
  #20 (permalink)  
Antiguo 08/06/2009, 09:45
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 22 años, 10 meses
Puntos: 20
Respuesta: problema con envio de correo

con respecto al mio ya funciono, el problema era que estaba mal ubicado en el condicional
__________________
Say no more.......
  #21 (permalink)  
Antiguo 08/06/2009, 09:53
Avatar de danielrivas  
Fecha de Ingreso: noviembre-2007
Ubicación: Preprocessing
Mensajes: 275
Antigüedad: 16 años, 5 meses
Puntos: 6
Respuesta: problema con envio de correo

Jejeje, los dos problemas resueltos entonces
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 06:20.