Foros del Web » Programando para Internet » PHP »

email con PHP y variables

Estas en el tema de email con PHP y variables en el foro de PHP en Foros del Web. Hola tengo un problema con un form que tengo que enviar por email pero no me sale bien, haber si podeis ayudarme, os explico: pagina ...
  #1 (permalink)  
Antiguo 13/10/2009, 16:26
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
email con PHP y variables

Hola tengo un problema con un form que tengo que enviar por email pero no me sale bien, haber si podeis ayudarme, os explico:

pagina form.php ( este formulario quiero que se envie por email ) con las variables de cada campo:

<form action="gracias-contacto.php" method="post" class="espacio-form-peke">
<fieldset class="fieldset-peke">
<legend> Formulario de contacto</legend>
<label class="pedidos-label"for="nombre">Nombre</label><br/>
<input class="espacio-input" type="text" id="nombre" name="nombre"/><br/>

<label class="pedidos-label"for="apellidos">Empresa</label><br/>
<input class="espacio-input" type="text" id="empresa" name="empresa"/><br/>

<label class="pedidos-label"for="email">Email</label><br/>
<input class="espacio-input" type="text" id="email" name="email"/><br/>

<label class="pedidos-label"for="telefono">Telefono</label><br/>
<input class="espacio-input" type="text" id="telefono" name="telefono"/><br/>

<label class="pedidos-label"for="texto">Tu Texto</label><br/>
<textarea class="espacio-input" name="texto" cols="40" rows="8" id="texto">Escribe aquí tu texto</textarea><br/>

<input type="submit" name="buscar" value="Enviar" />
<input name="correo" type="hidden" value="miemail@miemailes" />
<br/><br/>
</fieldset>
</form>

la pagina de agradecimiento "gracias-contacto.php"con el script tengo el siguiente, :

<php
$pedido=" Consulta hecha en MIWEB <br><br>";
$nombre=$_POST['nombre'];
$apellido=$_POST['apellidos'];
$direccion=$_POST['direccion'];
$codigo=$_POST['codigo'];
$ciudad=$_POST['ciudad'];
$provincia=$_POST['provincia'];
$telefono=$_POST['telefono'];
$email=$_POST['correo'];


$pedido .= "<br><br> <u><strong> DATOS DE LA CONSULTA : </strong></u>" . "<br><br> <strong>Nombre : </strong> " . $nombre . "<br><br> <strong> Apellidos : </strong>" . $apellido . "<br><br> <strong> Direccion de envio : </strong> " . $direccion . "<br><br> <strong>Codigo Postal : </strong> " . $codigo . "<br><br> <strong> Ciudad : </strong> " . $ciudad . " <br><br> <strong> Provincia : </strong> " . $provincia . " <br><br> <strong> Teléfono : </strong> " . $telefono . " <br><br> <strong> Email : </strong> " . $email . "<br><br><u><strong> En menos de 12 horas nos pondremos en contacto con husted";



$asunto="Su consulta hecha en miweb";
$empresa="MIWEB";
$correo_empresa="MICORREO@MICORREO";

mail($correo_empresa,$asunto,$pedido,"MIME-Version:1.0\nContent-type:text/html;charset=UTF-8\nFrom:$empresa<$correo_empresa>");

}


?>


EL PROBLEMA QUE TENGO ES QUE NO ME ENVIA NADA,

Alguna sugerencia ?????

Última edición por jonysi_d; 13/10/2009 a las 16:31
  #2 (permalink)  
Antiguo 13/10/2009, 19:24
zenen
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: email con PHP y variables

hola: no soy experto en php, solo se cosas muy basicas. prueba con esto:

<?php
mail($correo_empresa,$asunto,$pedido,"MIME-Version:1.0\nContent-type:text/html;charset=UTF-8\nFrom:$empresa<$correo_empresa>");
$pedido=" Consulta hecha en MIWEB <br><br>";
$nombre=$_GET["nombre"];
$apellido=$_POST["apellidos"];
$direccion=$_POST["direccion"];
$codigo=$_POST["codigo"];
$ciudad=$_POST["ciudad"];
$provincia=$_POST["provincia"];
$telefono=$_POST["telefono"];
$email=$_POST["correo"];

$pedido .= "<br><br> <u><strong> DATOS DE LA CONSULTA :
</strong></u>" . "<br><br> <strong>Nombre : </strong> $nombre
<br><br> <strong>
Apellidos : </strong>$apellido;
<br><br> <strong>
Direccion de envio : </strong> $direccion;
<br><br> <strong>
Codigo Postal : </strong> $codigo ;
<br><br> <strong>
Ciudad : </strong> $ciudad ;<br><br> <strong>
Provincia : </strong> $provincia; <br><br> <strong>
Teléfono : </strong> $telefono <br><br> <strong>
Email : </strong> $email;<br><br><u><strong> En menos de 12 horas nos pondremos en contacto con husted";



$asunto="Su consulta hecha en miweb";
$empresa="MIWEB";
$correo_empresa="[email protected]";


pero me da este error a mi:


Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in E:\xampp\htdocs\gracias-contacto.php on line 4
  #3 (permalink)  
Antiguo 14/10/2009, 05:16
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: email con PHP y variables

Lo he provado en servidor remoto y no me funciona tampoco.
Por cierto, el servidor remoto soporta PHP5, no se si esto tendrá algo que ver ??

Última edición por jonysi_d; 14/10/2009 a las 05:42
  #4 (permalink)  
Antiguo 14/10/2009, 05:37
 
Fecha de Ingreso: octubre-2009
Mensajes: 41
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: email con PHP y variables

Prueba con esto a var si te sale:

Código PHP:
<?php
$headers 
"Content-type: text/html; charset=iso-8859-1";//Para que el correo recibido no salgan las etiquetas html.

$pedido=" Consulta hecha en MIWEB <br><br>";
$nombre=$_GET["nombre"];
$apellido=$_POST["apellidos"];
$direccion=$_POST["direccion"];
$codigo=$_POST["codigo"];
$ciudad=$_POST["ciudad"];
$provincia=$_POST["provincia"];
$telefono=$_POST["telefono"];
$email=$_POST["correo"];


$pedido .= "<br><br> <u><strong> DATOS DE LA CONSULTA : </strong></u>" "<br><br> <strong>Nombre : </strong> " $nombre "<br><br> <strong> Apellidos : </strong>" $apellido "<br><br> <strong> Direccion de envio : </strong> " $direccion "<br><br> <strong>Codigo Postal : </strong> " $codigo "<br><br> <strong> Ciudad : </strong> " $ciudad " <br><br> <strong> Provincia : </strong> " $provincia " <br><br> <strong> Teléfono : </strong> " $telefono " <br><br> <strong> Email : </strong> " $email "<br><br><u><strong> En menos de 12 horas nos pondremos en contacto con husted";

$asunto="Su consulta hecha en miweb";
$empresa="MIWEB";
$correo_empresa="MICORREO@MICORREO";

mail($correo_empresa,$asunto,$pedido,$headers);
?>
  #5 (permalink)  
Antiguo 14/10/2009, 05:43
 
Fecha de Ingreso: octubre-2009
Mensajes: 41
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: email con PHP y variables

Si toda la información la mandas por POST porque el nombre lo recoges por GET?
  #6 (permalink)  
Antiguo 14/10/2009, 05:51
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: email con PHP y variables

Disculpa por lo de GET eso fue un error de escritura.

Lo he provado otra vez con tus parametros, pero tampoco funciona.Si que una vez enviado el form me dirige a la pagina del "action" del form, pero el problema es que no recibo el email.
  #7 (permalink)  
Antiguo 14/10/2009, 05:59
 
Fecha de Ingreso: octubre-2009
Mensajes: 41
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: email con PHP y variables

A ver si este otro:

Código PHP:
<?php
$headers 
"Content-type: text/html; charset=iso-8859-1";//Para que el correo recibido no salgan las etiquetas html.

$pedido"<br><br> <u><strong> DATOS DE LA CONSULTA : </strong></u>" "<br><br> <strong>Nombre : </strong> " $_POST["nombre""<br><br> <strong> Apellidos : </strong>" $_POST["apellidos"]"<br><br> <strong> Direccion de envio : </strong> " $_POST["direccion""<br><br> <strong>Codigo Postal : </strong> " $_POST["codigo""<br><br> <strong> Ciudad : </strong> " $_POST["ciudad"]" <br><br> <strong> Provincia : </strong> "$_POST["provincia"" <br><br> <strong> Teléfono : </strong> " $_POST["telefono"" <br><br> <strong> Email : </strong> " $_POST["correo""<br><br><u><strong> En menos de 12 horas nos pondremos en contacto con husted";

$asunto="Su consulta hecha en miweb";
$correo_empresa="MICORREO@MICORREO";

mail($correo_empresa,$asunto,$pedido,$headers);
?>
  #8 (permalink)  
Antiguo 14/10/2009, 06:05
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: email con PHP y variables

hola prueba con esto

Código php:
Ver original
  1. $headers  = 'MIME-Version: 1.0' . "\r\n";
  2. $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
  3.  
  4.  
  5. mail($correo_empresa,$asunto,$pedido,$headers)
  #9 (permalink)  
Antiguo 14/10/2009, 06:06
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: email con PHP y variables

Tampoco me funciona.

ES POSSIBLE QUE SEA POR CULPA DEL SERVIDOR ???

Quizas debe tener activado algo ???
  #10 (permalink)  
Antiguo 14/10/2009, 06:22
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: email con PHP y variables

no envia naranja?, lo estas haciendo de forma local?, fijate si tenes habilitado smtp con tu servidor, si es un hosting pregunta si tienen los servicios habilitados
  #11 (permalink)  
Antiguo 14/10/2009, 06:35
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: email con PHP y variables

Lo preguntare, ahora mismo.

Lo he provado de esta manera , con un echo y me sale conforme el email se ha enviado, pero en realidad no me llega ningun email:


<?php
$nombre = $_POST['nombre'];
$mail = $_POST['email'];
$empresa = $_POST['empresa'];
$telefono = $_POST['telefono'];
$texto = $_POST['texto'];

$header = 'From: ' . $mail . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje = "Este mensaje fue enviado por " . $nombre . ", de la empresa " . $empresa . ", con telefono " . $telefono . " \r\n";

$mensaje .= "Su e-mail es: " . $email . " \r\n";
$mensaje .= "Mensaje: " . $_POST['texto'] . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());

$para = 'MIWEB@MIWEB';
$asunto = 'Consulta a mi Web';

mail($para, $asunto, utf8_decode($mensaje), $header);

echo 'Envio del email correcto';

?>



Voy a preguntar a quien esta contratado el hosting haber si está habilidado el "smtp"

Por cierto, las pruebas del envio de formularios lo hago siempre en remoto.
  #12 (permalink)  
Antiguo 14/10/2009, 06:41
 
Fecha de Ingreso: abril-2008
Mensajes: 453
Antigüedad: 16 años
Puntos: 16
Respuesta: email con PHP y variables

Cita:
Iniciado por jonysi_d Ver Mensaje
Lo preguntare, ahora mismo.

Lo he provado de esta manera , con un echo y me sale conforme el email se ha enviado, pero en realidad no me llega ningun email:


<?php
$nombre = $_POST['nombre'];
$mail = $_POST['email'];
$empresa = $_POST['empresa'];
$telefono = $_POST['telefono'];
$texto = $_POST['texto'];

$header = 'From: ' . $mail . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$mensaje = "Este mensaje fue enviado por " . $nombre . ", de la empresa " . $empresa . ", con telefono " . $telefono . " \r\n";

$mensaje .= "Su e-mail es: " . $email . " \r\n";
$mensaje .= "Mensaje: " . $_POST['texto'] . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());

$para = 'MIWEB@MIWEB';
$asunto = 'Consulta a mi Web';

mail($para, $asunto, utf8_decode($mensaje), $header);

echo 'Envio del email correcto';

?>



Voy a preguntar a quien esta contratado el hosting haber si está habilidado el "smtp"

Por cierto, las pruebas del envio de formularios lo hago siempre en remoto.
esta todo para que se envie, si hubiece problemas con los headers el mensaje llegaria igual, pero sin interpretar el html, o a lo sumo un mensaje en blanco pero verias que te ha llegado un nuevo correo, a no ser que se haya alojado como spam, si necesitas un intermediario para obtener la respuesta de los proveedores de host, lo mejor seria que te averigues la empresa y utilices el contacto directamente ya que podes pedirle informacion mas detallada y responder todas tus preguntas
  #13 (permalink)  
Antiguo 14/10/2009, 07:55
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: email con PHP y variables

Gracias por la respuesta, ya os informaré de que me dicen los del hosting.
  #14 (permalink)  
Antiguo 19/10/2009, 15:43
 
Fecha de Ingreso: octubre-2007
Mensajes: 724
Antigüedad: 16 años, 6 meses
Puntos: 4
Respuesta: email con PHP y variables

me han dicho que lo tienen activado,
una pregunta quizas absurda para vosotros pero esencial para mi por culpa de mi ignorancia, cuando de hace el "mail" de debe de hacer un "session_start();" ????

yo creo que no es necesario, pero es para que me lo aclaren porque no se me soluciona el problema

Grácias..

ahora lo tengo asi ya que me faltava declarar el "if" " else "

<?php

session_start();
if(isset($_SESSION['contacto'])){



$pedido="<u><b> Desglose de su Comentario en el formulario de contacto con mi empresa </b></u> <br><br>";

$logo="<img src='http://www.fotogrande.jpg' alt='foto' width='173' height='91' border='0' align='middle'>";



$pedido .=$logo;


$nombre=$_POST['nombre'];
$empresa=$_POST['empresa'];
$direccion=$_POST['direccion'];

$telefono=$_POST['telefono'];
$texto=$_POST['texto'];
$email=$_POST['email'];

$pedido .= "<br><br> <u><strbong> DATOS DE ENVIO DE LA CONSULTA : </b></u>" . "<br><br> <b>Nombre : </b> " . $nombre . "<br><br> <b> Empresa : </b>" . $empresa . "<br><br> <b> Direccion : </b> " . $direccion . "<br><br> <b>Email : </b> " . $email . "<br><br> <b> Telefono : </b> " . $telefono . " <br><br> <b> Consulta : </b> " . $texto . " <br><br> <b> Teléfono : </b> " . $telefono . " <br><br> <b> Email : </b> " . $email . "<br><br><u> Gracias por contactar con mi empresa, en menos de 12 horas nos pondremos en contacto con husted";



$asunto="Consulta realizada en mi web";
$empresa="MI EMPRESA";
$correo_empresa="[email protected]";
$asunto .= " Copia ";
mail($correo_empresa,$asunto,$pedido,"MIME-Version:1.0\nContent-type:text/html;charset=UTF-8\nFrom:$empresa<$correo_empresa>");

}


?>

Última edición por jonysi_d; 19/10/2009 a las 15:50
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 04:21.