
Aunque al día de hoy casi todas las páginas están versadas en uno u otro lenguaje de servidor: ASP, PHP, JSP,… existe un amplio espectro de páginas desarrolladas en HTML. Casi siempre con la inestimable ayuda de un editor web. Y es que es mucha la gente, que con unos conocimientos mínimos de Internet, se lanza a este para contarle algo al ciber espacio. E incluso habrá sitios dónde podramos insertar código HTML y que no permite utilizar otro lenguaje
Y ya puestos, y una vez que nos hemos currado una página web, nos apetece que la gente comparta con nosotros su opinión sobre la misma. O simplemente se ponga en contacto con nosotros.
Una vez en esta tesitura, lo más fácil sería poner un texto que sea un enlace (o no) con nuestra dirección de email. Aquí, le estamos dando al comunicante solo nuestra dirección y el, la utilizará para contarnos lo que quiera. Si quieres tomar esta opción léete el articulo «Propiedades de los enlaces de email» el cual te ayudará a darle más potencia a tus enlaces de email.
Pero claro, puede ser que queramos, que cuando nos escriba, rellene cierta información que con el email no sabremos nunca si nos la va a enviar o no. Para ello tenemos los formularios. Y será entonces cuando queramos que nos envíe lo relleno en el formulario.
En este punto tenemos dos opciones. O bien tiramos de algún lenguaje de servidor (para aludidos, no tiene desperdicio Mandar emails con JavaMail)
Para que el usuario nos envíe el formulario utilizando HTML solo tendremos que hacer una cosa. Poner «mailto:[email protected]» en el campo action del formulario. Quedándonos un código HTML como este, mediante la etiqueta FORM:
<form action="mailto:[email protected]"></form>
Con esto conseguiremos que el usuario nos envíe un email con la estructura del formulario.
Una vez montando nuestro formulario veremos que si le damos a enviar el texto recibido puede ser algo como esto:
textfield=victor&textfield2=victor%40miemail.com&textarea=cojonuda
El problema es que para diferenciar las diferentes partes del mensaje, el navegador utiliza los identificadores de los campos. Es por ello que es bastante conveniente el modificarlos. Para tal fin hay que modificar el campo name de los campos del formulario. Podríamos ponerlos así:
<input name="nombre" type="text" />
Ahora, la cadena recibida, sería la siguiente:
nombre=victor&email=victor%40miemail.com&opinion=cojonuda
Aunque sigue siendo una cadena críptica, es algo más clara que la anterior.
Además tenemos que tener en mente un par de cosas. La primera es que esto solo funcionará si el usuario tiene un programa de correo electrónico en su ordenador (Outlook, Outlook Express, Eudora…). Hay que tener cuidado, ya que aunque es raro que el ordenador no tenga un programa de correo electrónico, puede darse el caso.
La segunda es que aunque nosotros le hayamos puesto los campos (incluso poniéndolos como obligatorios -podríamos usar JavaScript-), el usuario tiene la capacidad de modificar el email antes de enviarlo.
Aún con todo, esto es una buena solución para que se pongan en contacto con nosotros de forma sencilla.
Al final nos quedará el siguiente formulario:
<form action="mailto:[email protected]" method="post" name="form1"> <label for="nombre">Nombre: </label> <input id="nombre" name="nombre" type="text" /> <label for="email">Email: </label> <input id="email" name="nombre" type="text" /> ¿Qué te pareció la página? <textarea id="opinion" name="opinion"></textarea> <input name="Submit" type="submit" value="Enviar" /> </form>
Jose
hola
Carmen Mendoza
Y tengo el código en html, pero cuando hago la prueba para enviar un corroe desde la página no envía nada, y no recibo nada al correo que tengo del alojamiento.
<form method=»post» action=»mailto:[email protected]» enctype=»text/plain»>
<div class=»control-group form-group»>
<div class=»controls»>
<label>Nombre:</label>
<input type=»text» class=»form-control» id=»name» required data-validation-required-message=»Please enter your name.»>
</div>
</div>
<div class=»control-group form-group»>
<div class=»controls»>
<label>Email:</label>
<input type=»email» class=»form-control» id=»email» required data-validation-required-message=»Please enter your email address.»>
</div>
</div>
<div class=»control-group form-group»>
<div class=»controls»>
<label>Mensaje:</label>
<textarea rows=»10″ cols=»100″ class=»form-control» id=»message» required data-validation-required-message=»Please enter your message» maxlength=»999″ style=»resize:none»></textarea>
</div>
</div>
<div id=»success»></div>
<button type=»submit» class=»contact-btn btn»>Enviar Mensaje</button>
</form>
stiven
se vuelve muy difícil mas cuando hay que enviar un mailto de mensaje lo mas fácil seria copiar una captura de imagen muy parecida a la página original luego crear un formulario con dos text box y un boton y agregar un correo electrónico personal desde el formulario
Hector
hola me ha servido pero hay un problema y es que cuando pruebo de ponerlo en mi propia pagina me dice que no es seguro y que el mail no estara encriptado como medida de seguridad.
ademas no me llega
Sergio
Como se que ya se envío mis datps
Carlos Díaz
Hola Víctor,
¿Cómo puedo hacer para conocer el email al que es enviado un formulario web?
Gracias, un saludo!!
Víctor Cuervo
Hola Carlos Díaz,
La verdad que es muy complicado porque lo normal es que el formulario se envié a un programa en un servidor que sea el que realiza el envío del emai. Y así no se puede saber. Si el formulario es como el descrito arriba te bastará el ver el código fuente y buscar el formulario.
Puedes ver el código fuente de una página tal y como se explica en http://lineadecodigo.com/javascript/ver-el-codigo-fuente/
Espero que te sea de ayuda.
Carlos Díaz
Gracias Víctor,
No es como el descripto arriba. Evidentemente se envía al servidor y desde ahí manda el email. No sabia que funcionaba así y esperaba estuviera el dato dentro del código de la página.
Un saludo,
Carlos
Víctor Cuervo
En ese caso no hay nada que hacer :-(
carlos
Gracias por compartir sus conocimiento, estoy diseñando una pagina web y quiero que al momento de registrarse un cliente, le envie un email al administrador y uno al cliente, me puede ayduar?
Víctor Cuervo
Buenas Carlos,
En primer lugar darte las gracias por tu mensaje. Para el tema del envío de emails necesitas tener algún programa que codifiques en el servidor. Ya sea con Java, PHP, NodeJS, Python,… Si quieres seguir esa vía tienes algunos ejemplos en:
Con PHP. http://lineadecodigo.com/php/enviar-email-con-formato-html-en-php/
Con Java. http://lineadecodigo.com/java/mandar-emails-con-javamail/
Con ASP (ya en desuso, pero sirve como ejemplo). http://lineadecodigo.com/asp/mandar-emails-con-aspemail/
Si no quieres complicarte la vida programando o no tienes las capacidades te aconsejaría utilizar algún servicio de los que existen en Internet para el envío de correos.Yo, por ejemplo, en alguna web utilizo https://www.wufoo.com/gallery/templates/forms/ Aunque si buscas por Internet encontrarás servicios de email que son sencillos de integrar en las webs.
Espero que el mensaje te oriente.
Saludos.
Aztekium.pl
Información valiosa
Muy buen artículo!
José Salazar
Buenas tardes, utilice su código en mi sitio, pero, no funciona, cuando lo ejecuto para enviar un correo de prueba se activa automáticamente el outlook de windows. Que debo hacer para que esto no suceda?.
Víctor Cuervo
El programa que te abrirá será el que tengas puesto como gestor de correo electrónico por defecto en tu equipo. Puedes cambiarlo en el sistema y poner que sea otro.
Saludos.
pedro
excentte
hola
no me funciona we
denilson
hola soy un principiante en esto solo quiero ver si se puede enviar correo desde una pagina que estoy haciendo sin servidor y sin dominio, ayudeme si se puede
odanny
esta bien
osvaldo
hola
Diana
Hola tengo 12 años y requiero de su ayuda copie el codigo de arriva el de javascript y lo corri, pero me sale un mensaje que abla sobre el correo predeterminado no configurado cuando le doy enviar, pero cuando le doy enviar mensaje en esta pagina no lo hace hasi
Víctor Cuervo
Hola Diana,
Si utilizas Windows. En el Panel de Control tienes una opción que se llama Correo dónde puedes indicar la configuración del correo.
Saludos.
juan
me sale un mensaje de que no tengo configurado el correo predeterminado, eso se le tendria que configurar a todas las maquinas.
Víctor Cuervo
Juan,
Cada máquina que lo ejecute debe de tener el correo electrónico configurado por defecto.
Saludos.
levi
esta buena
Víctor Cuervo
@denis,
Abre el lector de correo electrónico que tengas por defecto configurado en el ordenador.
En «Opciones de Internet» tienes una pestaña de Programas dónde puedes establecer los programas por defecto.
Saludos.
denis
Hola campeon tu codigo funciona a lña perfeccion, sin embargo no hay forma que no abra el condenado outlook, que cuando lo pruebo me lo abre y todos no lo tienen configurado Yo por ejemplo hahah Gracias por tu tiempo un cordial saludo Denis
cristian
fdfsff
Luis
Te hago uan consulta, para que los mensajes queden en la página como ocurren con éstos, tendrías la info? Gracias
Luis
Muchas gracias por tu aporte
sary
hola
vicky
muchas gracias!!!!!!!!!!!!1
amas
gracias!! :-)
zenilto
ok