Cómo enviar un correo electrónico desde un formulario HTML
⏰ 5 minutos de lectura
dfdfd
Sé que hay muchos ejemplos que usan la acción mailto: post para enviar correos electrónicos usando solo formularios html.
Pero al usar esto, aparecerá el cuadro de diálogo de envío de correo electrónico, por ejemplo, el cuadro de diálogo de Outlook. Y en realidad usa nuestro propio servidor smtp para enviar el correo electrónico.
¿Hay alguna forma de crear formularios html que simplemente envíen un correo electrónico al enviarlos?
¿Hay una API de JavaScript que pueda lograr este efecto? Digamos, por ejemplo, node.js?
¿Alguien puede proporcionar algunos ejemplos de código?
Yisela
Como dijeron los demás, no se puede. Puede encontrar buenos ejemplos de formularios HTML-php en la web, aquí hay un enlace muy útil que combina HTML con javascript para validación y php para enviar el correo electrónico.
<script language="JavaScript">
var frmvalidator = new Validator("contactform");
frmvalidator.addValidation("name","req","Please provide your name");
frmvalidator.addValidation("email","req","Please provide your email");
frmvalidator.addValidation("email","email",
"Please enter a valid email address");
</script>
PHP:
<?php
$errors="";
$myemail="[email protected]";//<-----Put Your email address here.
if(empty($_POST['name']) ||
empty($_POST['email']) ||
empty($_POST['message']))
{
$errors .= "\n Error: all fields are required";
}
$name = $_POST['name'];
$email_address = $_POST['email'];
$message = $_POST['message'];
if (!preg_match(
"/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i",
$email_address))
{
$errors .= "\n Error: Invalid email address";
}
if( empty($errors))
{
$to = $myemail;
$email_subject = "Contact form submission: $name";
$email_body = "You have received a new message. ".
" Here are the details:\n Name: $name \n ".
"Email: $email_address\n Message \n $message";
$headers = "From: $myemail\n";
$headers .= "Reply-To: $email_address";
mail($to,$email_subject,$email_body,$headers);
//redirect to the 'thank you' page
header('Location: contact-form-thank-you.html');
}
?>
si lee el comentario en el enlace proporcionado, no se envía ningún correo electrónico como resultado de los códigos anteriores.
– Tempo
4 mayo 2016 a las 19:08
Antonio Rafael
puede usar el formulario de contacto simple en HTML con PHP mailer. Es fácil de implementar en su sitio web.
Los enlaces etiquetados como “Formulario simple de contacto/comentarios en HTML con php (correo HTML-PHP)” y “Formulario simple de contacto/comentarios en correo HTML-PHP” ya no existen. Ambos eran enlaces al sitio “myblog.antonyraphel” mencionado en el comentario anterior como posiblemente marcado como un siby engañoso por Google Chrome. Estos enlaces probablemente deberían eliminarse de la publicación.
– SherylHohman
25/03/2020 a las 19:00
Los enlaces están muertos.
– k_kumar
23 de abril de 2021 a las 4:47
LOLWTFasdasd asdad
Como muchas respuestas en este hilo ya sugieren, no es posible enviar un correo desde una página HTML estática sin usar PHP o JS. Solo quería agregar que existen algunas soluciones excelentes que tomarán su solicitud HTTP Post generada por su formulario y crearán un correo a partir de ella. Esas soluciones son especialmente útiles en caso de que no desee agregar JS o PHP a su sitio web.
Básicamente, esos servidores se pueden configurar con un servidor de correo que se encarga de enviar el correo electrónico. El receptor, el asunto, el cuerpo, etc. son recibidos por el servidor desde su publicación HTTP(S) y luego se introducen en el correo que desea enviar. Entonces, técnicamente hablando, todavía no es posible enviar correos electrónicos desde su formulario HTML, pero el resultado es el mismo.
Algunas de estas soluciones se pueden comprar como solución SaaS o puede alojarlas usted mismo. Solo mencionaré algunos, pero estoy seguro de que hay muchos en caso de que alguien esté interesado en la tecnología o el servicio en sí.
No puede, lo único que puede hacer con html es abrir su aplicación de correo electrónico predeterminada. Debe usar un código de servidor para enviar un correo electrónico, php, asp .net….
No puede enviar correos electrónicos usando javascript o html. Necesita secuencias de comandos del lado del servidor en php u otras tecnologías para enviar correos electrónicos.
sid malani
Html por sí solo no enviará correos electrónicos. Necesitará algo que se conecte a un servidor SMTP para enviar un correo electrónico. Por lo tanto, Outlook aparece con mailto: de lo contrario, su formulario va al servidor que tiene un script que envía correo electrónico.
¿Ha sido útil esta solución?
Tu feedback nos ayuda a saber si la solución es correcta y está funcionando. De esta manera podemos revisar y corregir el contenido.
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos.
Configurar y más información