Esta es la base de datos de ayuda en línea de MBI
Y está repleta de respuestas a las preguntas más comunes para que puedas resolver tus dudas a cualquier hora y en cualquier momento. Tenemos 30 preguntas organizadas en 10 categorías. Utiliza el buscador para encontrar respuesta a las preguntas que te surjan cuando comiences a utilizar nuestros servicios.
Si no encuentras respuesta a tu pregunta, envíanos un email a soporte o rellena el formulario para añadirla a la base de datos.
Si acabas de llegar te recomendamos que leas los artículos de la categoría Primeros Pasos.
Para poner un formulario de correo necesitas dos cosas:
1) El formulario HTML
Para confeccionar el formulario en HTML puedes utilizar una herramienta de diseño tipo FrontPage o Dreamweaver, o puedes escribir directamente el código HTML siguiendo la Recomendación del W3C:
http://html.conclase.net/w3c/html401-es … forms.html
o alguno de los muchos tutoriales que se encuentran en la red.
Básicamente un formulario de correo consiste en lo siguiente:
<form action="script a ejecutar" method="post">
[... los contenidos del formulario ...]
</form>
Dentro del formulario nos hacen falta al menos un campo de texto y un botón de envío. Además podemos pasar parámetros a nuestro script de manera invisible para el usuario mediante campos ocultos (que están en el código HTML pero no salen por la pantalla).
Por ejemplo, esto genera un cuadro de texto de una línea:
<input type="text" name="Asunto">
"input type='text'" significa "entrada tipo texto". "name='Asunto'" es el nombre que le damos a este campo, así sabemos a qué corresponde cada campo del formulario.
Esto genera un botón de envío:
<input type="submit" value="Enviar datos">
"input type='submit'" significa "entrada tipo enviar". "value='Enviar datos'" es el nombre que aparecerá dentro del botón.
Se puede crear una entrada de texto multilínea con un elemento TEXTAREA, de este modo:
<textarea name="Mensaje">Escriba aquí su mensaje</textarea>
Por último, para pasar un parámetro oculto, se usa lo siguiente:
<input type="hidden" name="recipient" value="info@midominio.com">
Esto enviará un campo oculto con el nombre "recipient" (destinatario) y el valor "info@midominio.com". Es importante especificar nombre y valor, de lo contrario el campo no se pasará al script.
--
2) El script
Existe una enorme variedad de scripts que permiten enviar formularios a un destinatario. Tradicionalmente se usaba un script en Perl llamado FormMail, pero éste tiene un largo historial de errores graves de seguridad que pueden hacer que cualquier persona use su formulario sin que tú lo sepas.
En MBI tienes tres alternativas sencillas:
a) Clon de FormMail.
Este script funciona igual que el FormMail original, pero sin fallos de seguridad.
Necesitas escribir lo siguiente en tu página HTML:
i)
<form action="http://www.tudominio.com/cgi-sys/FormMail.cgi" method="post">
ii)
Incluir un campo oculto en su formulario con la dirección del destinatario del siguiente modo:
<input type="hidden" name="recipient" value="info@tudominio.com">
El importante que la dirección especificada pertenezca al dominio alojado con MBI, de lo contrario no funcionará el formulario.
iii)
Opcionalmente, puedes incluir un campo de texto "realname" para el nombre real del remitente, otro campo "email" para su dirección de correo (no recomendado) y otro campo "subject" para el asunto del mensaje.
Además puedes incluir un campo oculto para redirigir al usuario si el envío tuvo éxito:
<input type="hidden" name="redirect" value="http://www.tudominio.com/exito.html">
Y puedes especificar qué campos son obligatorios y especificar una página a la que se redirigirá al usuario si hubo algún error:
<input type="hidden" name="required" value="nombre, asunto">
<input type="hidden" name="missing_fields_redirect" value="http://www.tudominio.com/error.html">
Para más opciones, consulta en:
http://www.scriptarchive.com/readme/formmail.html
Este es un ejemplo de un formulario típico completo:
<form action="http://www.tudominio.com/cgi-sys/FormMail.cgi" method="post">
<p>Nombre: <input type="text" name="nombre" value=""></p>
<p>E-mail: <input type="text" name="correo" value=""></p>
<p>Asunto: <input type="text" name="subject" value=""></p>
<p><textarea name="mensaje">Escriba aquí su mensaje</textarea></p>
<p>
<input type="submit" value="Enviar mensaje">
<input type="hidden" name="recipient" value="info@tudominio.com">
<input type="hidden" name="redirect" value="http://www.tudominio.com/exito.html">
<input type="hidden" name="required" value="nombre, correo, subject, mensaje">
<input type="hidden" name="missing_fields_redirect" value="http://www.tudominio.com/error.html">
</p>
</form>
b) Con un script PHP.
El problema del método anterior es que tu dirección de correo queda en la página HTML, de donde puede ser leída fácilmente por robots de búsqueda gestionados por espámers para espamear tu buzón. Esto es fácil de remediar si se incluye la dirección del destinatario dentro del script, y no dentro de la página HTML. Con PHP es muy sencillo crear un formulario de correo.
Para empezar, el código HTML podría ser más simple:
<form action="http://www.tudominio.com/miform.php" method="post">
<p>Nombre: <input type="text" name="nombre" value=""></p>
<p>E-mail: <input type="text" name="correo" value=""></p>
<p>Confirme su e-mail: <input type="text" name="confirmar" value=""></p>
<p>Teléfono: <input type="text" name="telefono" value=""></p>
<p><textarea name="mensaje">Escriba aquí su mensaje</textarea></p>
<p><input type="submit" value="Enviar mensaje"></p>
</form>
El código PHP comprobaría que el usuario ha especificado todos los campos obligatorios y a continuación lo envía con la función mail:
miform.php:
<?php
// Las variables deben existir y no estar vacías;
// en caso contrario redirigimos a la página de error y salimos:
$req = array('nombre', 'correo', 'confirmar', 'telefono', 'mensaje');
foreach ($req as $campo) {
$_POST[$campo] = trim($_POST[$campo]);
if ($_POST[$campo] == "") salir_con_error();
}
if ($_POST['correo'] != $_POST['confirmar']) salir_con_error();
function salir_con_error() {
header("Location: http://www.tudominio.com/error.html");
exit;
}
// Si no hay error, enviamos el correo y redirigimos a la página de
// éxito. La función mail() tiene 4 argumentos: destinatario, asunto,
// cuerpo del mensaje, y encabezados adicionales
$cuerpo = sprintf(
"Mensaje de %s <%s> (%s)
",
$_POST['nombre'], $_POST['correo'], $_POST['telefono']
);
$cuerpo .= "Comentarios:
" . $_POST['mensaje'] . "
";
mail(
"info@tudominio.com", "Mensaje desde la web", $cuerpo, "From: info@tudominio.com"
);
header("Location: http://www.tudominio.com/exito.html");
exit;
?>
Este código PHP lo copias en un archivo de texto, lo guardas con el nombre miform.php, y lo subes a tu espacio web, al mismo directorio donde esté tu formulario. Necesitarás también subir las páginas error.html y exito.html al directorio correcto.