Tengo un problema con un formulario que hice para una página web, el formulario recoge unos datos en un html y los envía mediante un php a un correo, pero no esta llegando nada al correo, ya he mirado bastante y no he podido saber cuál es el problema.
El correo lo tengo alojado en en el workspace webmail de godaddy, antes ya había usado este código pero para un correo de outlook 365.
$msg = "Mensaje de: '.$nombre' Telefono: '.$telefono'";
$msg = wordwrap($msg,70);
mail("desarrollo@mainteam.com.co",$correo,$msg);
?>
CÓDIGO HTML
<form action="gracias.php" method="post" target="_blank" accept-charset="UTF-8" enctype="application/x-www-form-urlencoded" autocomplete="off">
<input type="text" placeholder="Nombre" name="nombre" id="nombre" required data-msg="Este campo es obligatorio. Ingresa tu nombre"/>
<input type="email" placeholder="E-mail de la empresa" name="correo" id="correo" pattern="[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$" required="Ingresa un correo válido." data-msg="Este campo es obligatorio ¿Cuál es tu correo electrónico?"/>
<input type="tel" placeholder="Teléfono" name="telefono" id="telefono" pattern="^[0-9]{10}" required="Ingresa un número de telefono válido." data-msg="Este campo es obligatorio ¿A qué número podemos comunicarnos?"/>
<button type="submit" class="botonf" >ENVIAR</button>
</form>
Hace tiempo que no confío en el mail() del servidor, prefiero utilizar phpmailer (https://github.com/PHPMailer/PHPMailer) con envío por SMTP con SSL, una buena opción es utilizar SendGrid (https://www.sendgrid.com/) o Amazon SES (https://aws.amazon.com/es/ses/)
Hola, veo 2 cosas:
-Primero:
En ->$msg = "Mensaje de: '.$nombre' Telefono: '.$telefono'";
Yo personalmente lo cambiaria a :
$msg = 'Mensaje de: '.$nombre'.' Telefono: '.$telefono;
Y como una buena práctica para los servidores de correo habilita las cabeceras, como por ejemplo:
$to = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
- Y la segunda:
asegurate de que la opcion mail esta habilitada en tu php.ini; no todas las instalaciones en lo servidores permiten al php usar el sendmail del servidor; te recomiendo uses una clase como phpmailer, que creo que en versiones >= 5.2 puedes instalarla como librería integrada del php.
Hola, lo que suele pasar con la función mail de php es que los correos llegan a la carpeta de spam o correo no deseado. Como dice el compañero si agregas las cabeceras a tu función tienes mas posibilidades de que el correo acabe en la carpeta de entrada.
Yo sí confío en el mail de mi servidor, al contrario de alguna opinión. Es más, no he tenido ningún inconveniente hasta el momento y estoy contento con su funcionamiento.
P.D. en el blog tecnológico que suelo consultar para resolver dudas sobre desarrollo o programación, hay publicados dos artículos en el que se explica a la perfección qué es Webmail y las ventajas de tener tu propio correo corporativo (para interesados).
Adjunto enlaces: https://linube.com/blog/cloud-privado-webmail/ y https://linube.com/blog/webmail-servicios-de-correo-online/
(borrar si se considera spam)
A mi lo que mejor me ha funcionado han sido los servicios de amazon. Sin duda ofrecen una seguridad en los resultados impresionantes. Dales un vistazo por que te ahorran auténticos quebraderos
Tengo un problema con un formulario que hice para una página web, el formulario recoge unos datos en un html y los envía mediante un php a un correo, pero no esta llegando nada al correo, ya he mirado bastante y no he podido saber cuál es el problema.
El correo lo tengo alojado en en el workspace webmail de godaddy, antes ya había usado este código pero para un correo de outlook 365.
CÓDIGO PHP:
<?php
$nombre=strip_tags(htmlspecialchars($_POST['nombre']));;
$telefono=strip_tags(htmlspecialchars($_POST['telefono']));
$correo=strip_tags(htmlspecialchars($_POST['correo']));
$msg = "Mensaje de: '.$nombre' Telefono: '.$telefono'";
$msg = wordwrap($msg,70);
mail("desarrollo@mainteam.com.co",$correo,$msg);
?>
CÓDIGO HTML
<form action="gracias.php" method="post" target="_blank" accept-charset="UTF-8" enctype="application/x-www-form-urlencoded" autocomplete="off">
<input type="text" placeholder="Nombre" name="nombre" id="nombre" required data-msg="Este campo es obligatorio. Ingresa tu nombre"/>
<input type="email" placeholder="E-mail de la empresa" name="correo" id="correo" pattern="[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$" required="Ingresa un correo válido." data-msg="Este campo es obligatorio ¿Cuál es tu correo electrónico?"/>
<input type="tel" placeholder="Teléfono" name="telefono" id="telefono" pattern="^[0-9]{10}" required="Ingresa un número de telefono válido." data-msg="Este campo es obligatorio ¿A qué número podemos comunicarnos?"/>
<button type="submit" class="botonf" >ENVIAR</button>
</form>
20/03/2017 12:57
13/01/2017 09:51
-Primero:
En ->$msg = "Mensaje de: '.$nombre' Telefono: '.$telefono'";
Yo personalmente lo cambiaria a :
$msg = 'Mensaje de: '.$nombre'.' Telefono: '.$telefono;
Y como una buena práctica para los servidores de correo habilita las cabeceras, como por ejemplo:
$to = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
- Y la segunda:
asegurate de que la opcion mail esta habilitada en tu php.ini; no todas las instalaciones en lo servidores permiten al php usar el sendmail del servidor; te recomiendo uses una clase como phpmailer, que creo que en versiones >= 5.2 puedes instalarla como librería integrada del php.
17/03/2017 19:26
Prueba basándote en el ejemplo de php.net:
salu2 y suerte
17/03/2017 19:27
$para = 'nobody@example.com';
$titulo = 'El título';
$mensaje = 'Hola';
$cabeceras = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail($para, $titulo, $mensaje, $cabeceras);
19/10/2018 15:06
$para = 'alguien@ejemplo.com';
$titulo = 'epígrafe';
$mensaje = 'qué tal';
$cabeceras = 'From: algunotro@ejemplo.com' . "\r\n" .
'Reply-To: algunotro@ejemplo.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
Yo sí confío en el mail de mi servidor, al contrario de alguna opinión. Es más, no he tenido ningún inconveniente hasta el momento y estoy contento con su funcionamiento.
P.D. en el blog tecnológico que suelo consultar para resolver dudas sobre desarrollo o programación, hay publicados dos artículos en el que se explica a la perfección qué es Webmail y las ventajas de tener tu propio correo corporativo (para interesados).
19/10/2018 15:07
(borrar si se considera spam)
02/04/2019 22:14
06/04/2019 02:06
01/01/2022 16:38
Un ejemplo funcionando, que alguna vez he utilizado como base. formulario de contacto php