Foros del Web » Programando para Internet » PHP »

Formulario de mi web no envia los correos

Estas en el tema de Formulario de mi web no envia los correos en el foro de PHP en Foros del Web. Hola tengo una web que esta echa con una plantilla que me descarge pero el formulario no me envia informacion a una cuaenta de correo ...
  #1 (permalink)  
Antiguo 17/04/2016, 18:08
 
Fecha de Ingreso: marzo-2009
Mensajes: 11
Antigüedad: 13 años, 5 meses
Puntos: 0
Formulario de mi web no envia los correos

Hola tengo una web que esta echa con una plantilla que me descarge pero el formulario no me envia informacion a una cuaenta de correo electronico, el codigo del formulario es:

<div class="grid_8">
<h2 class="head1">Formulario de contacto.</h2>
<form id="form">
<div class="success_wrapper">
<div class="success-message">Su mensaje a sido enviado.</div>
</div>
<label class="Name">
<input type="text" placeholder="Nombre:" data-constraints="@Required @JustLetters" />
<span class="empty-message">*Campo requerido.</span>
<span class="error-message">*Nombre no valido.</span>
</label>
<label class="email">
<input type="text" placeholder="E-mail:" data-constraints="@Required @Email" />
<span class="empty-message">*Campo requerido.</span>
<span class="error-message">*Email no valido.</span>
</label>
<label class="phone">
<input type="text" placeholder="Telefono:" data-constraints="@Required @JustNumbers"/>
<span class="empty-message">*Campo requerido.</span>
<span class="error-message">*Telefono no valido.</span>
</label>
<label class="message">
<textarea placeholder="Mensaje:" data-constraints='@Required @Length(min=20,max=999999)'></textarea>
<span class="empty-message">*Campo requerido.</span>
<span class="error-message">*El mensaje es demasiado corto.</span>
</label>
<div>
<div class="clear"></div>
<div class="btns">
<a href="#" data-type="reset" class="btn">Borrar</a>
<a href="[email protected]" data-type="submit" class="btn">Enviar</a>
</div>
</div>
</form>
</div>
</div>
</div>

Y el archivo PHP del formulario es:
<?php

//SMTP server settings
$host = "smtp.host.com";
$port = "587";
$username = "";
$password = "";


$messageBody = "";

if($_POST['name']!='false'){
$messageBody .= '<p>Visitor: ' . $_POST["name"] . '</p>' . "\n";
$messageBody .= '<br>' . "\n";
}
if($_POST['email']!='false'){
$messageBody .= '<p>Email Address: ' . $_POST['email'] . '</p>' . "\n";
$messageBody .= '<br>' . "\n";
}else{
$headers = '';
}
if($_POST['state']!='false'){
$messageBody .= '<p>State: ' . $_POST['state'] . '</p>' . "\n";
$messageBody .= '<br>' . "\n";
}
if($_POST['phone']!='false'){
$messageBody .= '<p>Phone Number: ' . $_POST['phone'] . '</p>' . "\n";
$messageBody .= '<br>' . "\n";
}
if($_POST['fax']!='false'){
$messageBody .= '<p>Fax Number: ' . $_POST['fax'] . '</p>' . "\n";
$messageBody .= '<br>' . "\n";
}
if($_POST['message']!='false'){
$messageBody .= '<p>Message: ' . $_POST['message'] . '</p>' . "\n";
}

if($_POST["stripHTML"] == 'true'){
$messageBody = strip_tags($messageBody);
}

if($host=="" or $username=="" or $password==""){
$owner_email = $_POST["owner_email"];
$headers = 'From:' . $_POST["email"] . "\r\n" . 'Content-Type: text/plain; charset=UTF-8' . "\r\n";
$subject = 'A message from your site visitor ' . $_POST["name"];

try{
if(!mail($owner_email, $subject, $messageBody, $headers)){
throw new Exception('mail failed');
}else{
echo 'mail sent';
}
}catch(Exception $e){
echo $e->getMessage() ."\n";
}
}else{
require_once 'Mail.php';

$to = $_POST["owner_email"];
$subject = 'A message from your site visitor ' . $_POST["name"];
$headers = array (
'From' => 'From:' . $_POST["email"] . "\r\n" . 'Content-Type: text/plain; charset=UTF-8' . "\r\n",
'To' => $to,
'Subject' => $subject);

$smtp = Mail::factory(
'smtp',
array (
'host' => $host,
'port' => $port,
'auth' => true,
'username' => $username,
'password' => $password));

$mail = $smtp->send($to, $headers, $messageBody);

try{
if(PEAR::isError($mail)){
echo $mail->getMessage();
}else{
echo 'mail sent';
}
}catch(Exception $mail){
echo $mail->getMessage() ."\n";
}
}
?>

Se que en este archivo tengo que cambiar pero no tengo ni idea estoy muy verde en cuanto a PHP y por eso les solicito su ayuda porque me es urgente por favor.
  #2 (permalink)  
Antiguo 17/04/2016, 22:31
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 6 años, 7 meses
Puntos: 39
Respuesta: Formulario de mi web no envia los correos

Imagino que esto lo haz borrado por seguridad o cómo está?

Código PHP:
Ver original
  1. //SMTP server settings
  2. $host = "smtp.host.com";
  3. $port = "587";
  4. $username = "";
  5. $password = "";
  #3 (permalink)  
Antiguo 18/04/2016, 01:39
 
Fecha de Ingreso: marzo-2009
Mensajes: 11
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Formulario de mi web no envia los correos

No lo e borrado, todo el archivo php esta de manera original
  #4 (permalink)  
Antiguo 18/04/2016, 06:01
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 11 años, 9 meses
Puntos: 123
Respuesta: Formulario de mi web no envia los correos

Pues si no estableces los datos de conexión a tu servidor de correo SMTP difícilmente va a funcionar.
__________________
Unset($vida['malRollo']);
  #5 (permalink)  
Antiguo 18/04/2016, 06:39
 
Fecha de Ingreso: marzo-2009
Mensajes: 11
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Formulario de mi web no envia los correos

Eso no lo sabia xerifandtomas por eso estoy pidiendo ayuda, pero gracias.
  #6 (permalink)  
Antiguo 18/04/2016, 06:40
 
Fecha de Ingreso: marzo-2009
Mensajes: 11
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Formulario de mi web no envia los correos

Solo eso es lo unico que tengo que modificar?
  #7 (permalink)  
Antiguo 18/04/2016, 06:45
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 11 años, 9 meses
Puntos: 123
Respuesta: Formulario de mi web no envia los correos

No hay problema. No esperaba ser borde.

Pero me parece una obviedad...

Código PHP:
Ver original
  1. //SMTP server settings
  2. $host = "smtp.host.com"; // dirección del servidor
  3. $port = "587"; // puerto para la conexión
  4. $username = ""; // nombre de usuario
  5. $password = ""; // contraseña
__________________
Unset($vida['malRollo']);
  #8 (permalink)  
Antiguo 18/04/2016, 07:07
 
Fecha de Ingreso: marzo-2009
Mensajes: 11
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Formulario de mi web no envia los correos

En el nombre de usuario es la direccion de correo verdad?
  #9 (permalink)  
Antiguo 18/04/2016, 07:34
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.129
Antigüedad: 11 años, 4 meses
Puntos: 167
Respuesta: Formulario de mi web no envia los correos

Cita:
Iniciado por joselitocanario Ver Mensaje
En el nombre de usuario es la direccion de correo verdad?
Si... la dirección de correo completa, el servidor tienes que saberlo o en todo caso preguntar a tu proveedor de hosting, al igual del puerto si no tienes conocimiento cual es el indicado, puede ser 25 ó 587 y la contraseña la del correo
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #10 (permalink)  
Antiguo 18/04/2016, 07:38
 
Fecha de Ingreso: marzo-2009
Mensajes: 11
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Formulario de mi web no envia los correos

Ok todo lo cambie y sigue sin funcionar
  #11 (permalink)  
Antiguo 18/04/2016, 08:04
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 11 años, 9 meses
Puntos: 123
Respuesta: Formulario de mi web no envia los correos

Mejor pregunta a tu proveedor los datos de conexión, no siempre el usuario es la cuenta de correo y de paso, que te indiquen si esta capado o no. Por que algunos hosting tienen el SMTP capado
__________________
Unset($vida['malRollo']);
  #12 (permalink)  
Antiguo 18/04/2016, 08:10
 
Fecha de Ingreso: marzo-2009
Mensajes: 11
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Formulario de mi web no envia los correos

Ok vale les iré informando
  #13 (permalink)  
Antiguo 19/04/2016, 04:04
 
Fecha de Ingreso: marzo-2009
Mensajes: 11
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Formulario de mi web no envia los correos

Hola me comunica mi provedor del hosting que no puedo usar php porque el hosting no admite php ahora bien hay otro metodo de que funcione el formulario?
  #14 (permalink)  
Antiguo 19/04/2016, 05:59
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 11 años, 9 meses
Puntos: 123
Respuesta: Formulario de mi web no envia los correos

Pues que lenguaje admite/trabaja tu hosting?
La verdad que es raro encontrar un hosting que no ofrezca php.
__________________
Unset($vida['malRollo']);
  #15 (permalink)  
Antiguo 19/04/2016, 06:04
 
Fecha de Ingreso: marzo-2009
Mensajes: 11
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Formulario de mi web no envia los correos

Pues creo que sólo admite el html
  #16 (permalink)  
Antiguo 19/04/2016, 07:38
 
Fecha de Ingreso: marzo-2009
Mensajes: 11
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Formulario de mi web no envia los correos

vale me dicen la empresa de mi hosting que es dondominio.com(EL CUAL NO SE LOS RECOMIENDO) solo puedo cargar estos archivos HTML, CSS, JS, RAR, ZIP, JPG, BMP y PDF
  #17 (permalink)  
Antiguo 19/04/2016, 08:01
 
Fecha de Ingreso: marzo-2009
Mensajes: 11
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Formulario de mi web no envia los correos

ahora me dicen que ponga esto (<input type=hidden name="recipient" value="[email protected]" /> ) pero no tengo ni idea de donde ponerlo
  #18 (permalink)  
Antiguo 19/04/2016, 18:27
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 11 años, 9 meses
Puntos: 123
Respuesta: Formulario de mi web no envia los correos

Pues en teoría debes ponerlo entre las etiquetas <form> y </form>.

Siento decirlo, pero creo que estas pegado y no sólo en php. Mi recomendación es que pages a alguien para que saque tu proyecto adelante si es urgente. Y te tomes tu tiempo para adquirir los conocimientos necesarios.

Igualmente tu hosting ofrece soporte para php, eso sí no en la tarifa más básica.

En fin suerte.
__________________
Unset($vida['malRollo']);

Última edición por xerifandtomas; 19/04/2016 a las 18:36

Etiquetas: correos, envia, formulario, html
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 16:55.