Saltar al contenido

Guía Contact form 7: Crea formularios de contacto con autorespondedor fácilmente.

Este es el primer artículo en día lunes, aunque te parezca raro en Hostingroup decidimos publicar los lunes en vez de los martes para no haber muchos días de espera entre el segundo post de la semana y el primero de la próxima. Ya veremos en un par de meses los resultados.

Entrando al tema, hoy hemos preparado la guía contact form 7, si no conoces a este plugin (aunque lo dudo mucho), la función del plugin es crear formularios de contacto en nuestro wordpress (¿sigues sin usar wordpress? aquí 10 razones para elegir wordpress), ya que por defecto wordpress no trae formularios de contacto, además te enseñaremos a usar el autorespondedor de contact form que no es más que enviar un mensaje automático al usuario una vez rellene un formulario.

Guía Contact Form 7

Estos los pasos o las partes que realizaremos en la guía:

  1. Instalar el plugin Contact Form 7
  2. Creando el formulario
  3. Configurar el destinatario del mensaje
  4. Usando el autorespondedor
  5. Instalar plugin WP Mail SMTP

Instalar el plugin Contact Form 7

El primer paso es obviamente instalar el plugin, esto es muy sencillo, se instala como cualquier otro plugin vas a wp-admin -> plugins -> Añadir nuevo y en el buscador escribes “contact form 7” y el primer resultado será el que instalaremos.

guia-contact-form-imagen1

Una vez instalado y activado, pasaremos con la segunda parte de la guía contact form 7

Creando el formulario

Al activar el plugin verás como aparece una nueva opción en el menu lateral izquierdo llamada “contacto”, entras allí y verás creado ya un formulario de contacto, en este caso vamos a crear uno nuevo para que entiendas como hacerlo paso a paso, así que debes hacer clic en “añadir nuevo” que esta en la parte superior

guia-contact-form-imagen2

En la siguiente pantalla te indicará que elijas el idioma, esta en español por defecto así que solo haces clic en el botón azul que dice “Añadir Nuevo” y aparecerás en el editor del formulario.

El panel de edición del formulario se divide en 5 bloques, el primero es el bloque “Formulario”.

Este bloque está dividido en dos columnas, en la columna izquierda está el campo de edición del formulario y en la columna derecha hay un listado de las opciones que se pueden agregar al formulario.

guia-contact-form-imagen3

Por defecto la columna izquierda viene con un formulario ya elaborado, puedes usar ese si deseas, pero en este caso voy a borrar eso y armarlo desde cero.

El formulario tendrá 4 campos nombre, email, asunto y mensaje seguido del botón de enviar. Lo primero será saber que tipo de input o etiqueta es cada campo, en este ejemplo los tipos de etiqueta son:

  • campo nombre => campo de texto
  • campo email => email
  • campo asunto => campo de texto
  • campo mensaje => área de texto

Sabiendo esto, es momento de agregar los campos, el primer campo a agregar será el campo de texto así que en la columna derecha debes elegir la etiqueta “campo de texto”, al elegirlo te mostrará un cuadro con opciones para rellenar.

guia-contact-form-imagen4

Te explico que hace cada campo:

  • Campo requerido: Si tildamos esta opción este campo será obligatorio de llenar.
  • Nombre: El nombre para identificar ese campo, puede ser cualquiera, por defecto el plugin de agrega un nombre al azar.
  • id: Si queremos que este input tenga un id aca se lo colocamos (opcional)
  • class: Si queremos que este input tenga una clase aca lo colocas (opcional)
  • size: Ancho del campo, seguro que tu theme ya tiene definido eso en el css así que no hay necesidad de colocar un ancho (opcional)
  • maxlenght: Máximo de caracteres que se pueden introducir en el campo (opcional)
  • Valor por defecto: Si quieres que el campo ya tenga un dato introducido lo puedes colocar aca.
  • Usar texto como marcador: Si quieres que el campo tenga un placeholder, es decir un texto que no sea un valor que diga “escribe tu nombre aquí” llena el valor por defecto y tilda esta opción.
  • shortcode largo: Es para pegarlo en el editor del formulario, es decir en la columna izquierda.
  • shortcode corto: Te servirá más adelante.

El mismo paso repítelo con todos los campos, al final tendrás algo parecido a esto:

guia-contact-form-imagen5

Por último debes agregar el botón de enviar, en este caso el botón solo tiene tres opciones, las dos primeras son las mismas que en los otros campos y la etiqueta es el texto que figurará en el botón, algo como “Enviar Mensaje

guia-contact-form-imagen6

Listo, ya hemos acabado con la primera parte, ahora veremos como quedo el formulario, para ello debes guardar el formulario haciendo clic en el botón azul de Guardar, además le puedes colocar un nombre a ese formulario haciendo clic en el texto “Sin título” y colocando el que quieras, yo le pondré “MiFormulario”.

Al guardar el formulario, automáticamente te generará un shortcode que lo podrás pegar en cualquier página donde quieras agregar el formulario.

guia-contact-form-imagen7

Ahora a ver como quedo el formulario, en mi caso el formulario quedo así:

guia-contact-form-imagen8

TIP: Seguramente te diste cuenta que los campos están muy juntos, bueno pues no te preocupes arreglarlo es muy sencillo, para ello solo tienes que editar el formulario nuevamente y cada campo colocarlo entre la etiqueta «<p>» quedandote de esta forma:

<p>[text* nombre placeholder «Ingresa tu nombre»]</p>

<p>[email* email «Ingresa tu email»]</p>

<p>[text asunto placeholder «Escribe el asunto de tu mensaje»]</p>

<p>[textarea* comentario placeholder «Escribe tu comentario»]</p>

<p>[submit «Enviar Mensaje»]</p>

Guardan los cambios y listo los campos ya están separados.

Configurar el destinatario del mensaje

Una vez terminado el formulario lo siguiente será indicarle al plugin a que correo queremos que envíe los datos llenados por el usuario en el formulario, obviamente queremos que estos datos se envíen a nuestro correo para poder leer el mensaje del usuario y poder contestarle.

Para hacer esto debes ir nuevamente al cuadro de edición del formulario y esta vez ir al bloque dos “E-mail” donde deberás llenarlo con los datos del formulario como figura en esta imagen:

guia-contact-form-imagen9

Aquí te explico cada campo:

  • Para: El correo a donde quieres enviar los datos, es decir tu correo.
  • De: email que se le dirá a tu cliente de email (gmail, hotmail, etc) que envió ese correo, aquí tienes que poner tu correo porque si pones otro correo como el del usuario puede que gmail o hotmail tomen el correo como suplantación de identidad y no lo recibas.
  • Asunto: Asunto o título del correo
  • Encabezados adicionales: Indicas a que correo quieres enviar tu respuesta en caso lo  hagas, es decir si abres el correo, lo lees y le das a “responder”, esa respuesta se enviará al correo indicado allí.
  • Archivos Adjuntos: Si quieres adjuntar algún archivo (opcional)
  • Usar contenido html: Si quieres usar códigos html en el mensaje (opcional)
  • Cuerpo del mensaje: El mensaje que se enviará a tu correo, aquí deben figurar los datos que envió el usuario, es aquí donde entra al juego el shortcode corto indicado antes, ya que será el que indique el campo y valor a agregar.

Seguramente que no guardaste el shortcode corto porque no te lo dije pero tranquilo que es muy fácil saber cual es, el shortcode corto es simplemente el nombre que tiene el campo, en este caso al campo nombre le pusimos como nombre “nombre” por lo que el shortcore sería [nombre], a email le pusimos “email” así que sería [email] y así sucesivamente.

Si no recuerdas el nombre que le pusiste al campo tampoco hay problema, solo mirá el shortcode largo y verás que indica cual es su nombre:

[text* nombre placeholder «Ingresa tu nombre»] -> El nombre siempre estará después del tipo de campo, en este caso el nombre es “nombre”.

Guardas los cambios y acabaste esta parte.

Con esto ya puedes usar el formulario de contacto tranquilamente, pero hay ocasiones en las que querrás enviar un mensaje automático apenas el usuario rellena el formulario, algo así como envías un mensaje que diga “gracias por contactarnos lo atenderemos en 24 horas”, para ello debes usar el autorespondedor del plugin.

Usando el autorespondedor

Esta parte de la guía contact form 7 es opcional, si no quieres agregar una respuesta automática al usuario cuando rellena el formulario no tienes porqué configurar esto, pero si lo deseas te enseñare como hacerlo.

Esta parte se configura en el bloque 3 llamado “E-mail (2)”, para usarlo debes activar la casilla que dice “usar email(2)”

guia-contact-form-imagen10

Al tildar la casilla verás que aparecen varios campos para llenar que son los mismos que en el caso anterior con la única diferencia que estos datos son los que recibirá el usuario y no tu, por lo tanto debes configurarlo para el usuario, ¿que quiero decir con esto? que por ejemplo en la casilla “Para” debes colocar el email del usuario, es decir el shortcode [email], en “de” colocar tu email y tu nombre y así con los demás, el resultado será como en la siguiente imagen:

guia-contact-form-imagen11

Instalar Plugin WP Mail SMTP

Si vas a usar el autorespondedor te recomiendo encarecidamente que también instales este plugin y es que el plugin envía el correo al usuario vía la función de php mail() que no es bien visto por los servidores de correo, por lo tanto hay muchas probabilidades de que el correo llegue a spam.

En cambio si instalamos el plugin y lo configuramos correctamente el mensaje se enviará por un entorno seguro siendo casi seguro que llegue a la bandeja de entrada del usuario.

La instalación es igual que con todos los plugins, vas a wp-admin -> plugins -> añadir nuevo y buscas el plugin “wp mail smtp”, lo instalas y lo activas.

Ahora debes ir a Ajustes -> Email y llenar los campos de SMTP Option como en la siguiente imagen:

guia-contact-form-imagen12

Explico rápidamente cada campo:

  • SMTP Host: La url del servidor smtp de tu hosting wordpress, esto lo puedes ver en cPanel en la parte de emails “configurar cliente email” o preguntale a tu proveedor de hosting.
  • SMTP Port: Puerto que usa el servidor smtp, por defecto es 765 si vas a encriptar el correo con TLS.
  • Encryption: Esta opción indica si quieres encriptar o no el correo, lo recomendable es que sí y con TLS, ya se dejó de usar SSL debido a su última vulnerabilidad poodle.
  • Authentication: Si vas a autenticar tu correo o no, elige que sí para no terminar en spam.
  • Username y password: El usuario y contraseña de tu correo.

Una vez hecho esto puedes hacer una prueba para confirmar que los datos estan correctos, para ello está la opción “Send a Test email” donde debes colocar el correo a donde enviarás un mensaje de prueba.

Si llegaste hasta aquí !Felicidades¡ ya terminaste de configurar correctamente el plugin gracias a la guía contact form 7.

Ahora te pido un favor, si te pareció bueno el articulo por favor compártelo en tu red social así le puede ayudar a alguno de tus amigos.

¿Quieres la mejor velocidad, seguridad y estabilidad para tu WordPress? Ya no tienes que buscar más que en Hostingroup te ofrecemos el mejor hosting para wordpress de latinoamérica! La migración es gratis.

Entradas relacionadas

  • Hola Roberto he estado viendo tu post me ha aclarado cosas de este plugin, pero llevo toda la tarde buscando la forma de limitar en Px la barra de los campos que tiene Contac, y no lo consigo ver en ningún post, me podrías decir como limitarla. Se me sale fuera de la barra lateral de wigets y queda feo. Gracias.
    Un saludo
    Antonino.

    • Hola Antonino, lo que me comentas parece ser un tema de CSS, dentro de un archivo css coloca que los inputs tengan como ancho porcentaje y no pixeles, así se adaptará al ancho de tu bloque.

      input {
      width: 80%;
      }

  • el pluggin adicional es por si tengo un solo formulario contacto. Pero cuando tengo varios formularios de estos a diferentes correos ? ,. como puedo configurarlos ?

    • Hola Claudia,
      Lo maravilloso de este plugin es que puedes crear cuantos formularios quieras, y en cada uno de ellos personalizar el remitente y el mensaje que enviarás al destinatario.

      Cada formulario lo tienes en un pequeño shortcode que lo puedes pegar en cualquier parte de tu sitio.

      Un saludo.

  • Hola, ante todo mil gracias por la info. Me ha ayudado a configurar correctamente la autorrespuesta pero, al hacerlo, me ha surgido otra duda… cómo puedo hacer que el email que envío lleve una copia del mensaje que ha mandado el usuario??
    Es que no he encontrado la forma de que, cuando te envían un correo mediante el formulario, les llegue una copia a ellos…
    Muchas gracias de antemano y buen trabajo!!

  • Hola de nuevo, siento haberte hecho perder el tiempo. Me estoy currando yo sola la web a base de tutoriales cómo el tuyo e intuición que ganas después de mucho mirar… jejeje

    Simplemente he copiado los códigos del mensaje que me llega a mi en el mensaje respuesta automática (no se si me estoy explicando bien) y listo!! he hecho una prueba y ahora, junto con el mensaje que he puesto para que envíe reciben una copia de lo que han enviado ellos…

    Muchas gracias de nuevo por todos los tutoriales.

  • muy buen articulo
    me gustaria saber si sabe y me podrias decir como hacer para que el formulario que tengo en mi pagina de portada funcione para publicar el post directamente sin que tenga que moderarlo,es decir que el visitante publique directamente
    gracias por tu tiempo
    saludos

  • Hola,

    Muy buen artículo.

    Si tengo varios formularios de contacto en diferentes URL de mi web, ¿hay alguna forma de saber desde qué URL han completado el formulario?

    Muchas gracias

    Un saludo

    • Hola David,
      Por supuesto que sí, instala el plugin Contact Form 7 Dynamic Text Extension, este plugin te ofrece nuevos tipos de variables para los formularios, uno de ellos es [url] donde coloca allí la url de la página donde se mandó el formulario, justo lo que quieres.

      Un saludo.

  • hOLA
    Saludos, Muy buena tu guia, me ha servido muchisimo, he tenido un pequeño problema, es el siguiente
    tengo un formulario que funciona 100%, excepto, que el boton enviar no see ve en mi pagina, pero esta ahi, paso el cursor en la posicion donde deberia verse y el cursor se cambia por una manito, doy clic, y lo envia, y funciona bien, salvo porque el boton es digamos invisible.
    como puedo hacer que el boton enviar sea completamente visible?

  • muy bien Felicidades
    nada mas 2 cosas como le hago para que mi formulario se vea en todos los exploradores ????
    y como le hago para mandar una clave de confirmacion ascendente a cada persona que llene mi formulario?????
    De antemano Gracias y espero y me puedan ayudar
    Gracias

    • Hola Okadio,

      Por defecto el formulario se ve en todos los exploradores, ya que de cara a los navegadores es un simple código HTML, por lo cuál es muy raro que en tu caso no sea así.

      Sobre la clave de confirmación, la verdad es que no conozco ningún plugin que realice eso (nunca me he topado con ese caso, por lo que nunca he buscado algo similar), así que no podré ayudarte.

      Saludos y gracias por pasarte a comentar.

  • Hola estoy probando la creación de formularios con Contact Form 7 Versión 4.3.1.
    Funciona perfectamente «excepto el hecho» de que los campos que añado al formulario nuevo
    no los envía. (Envía los que trae por defecto ).
    Me explico mejor: al seleccionar «Nuevo» me abre la plantilla con los 4 campos por defecto (Nombre, correo, asunto, texto), pero los campos que añado a continuación no los envia.
    Gracias

  • Hola Okadio, yo también instalé el ContactForm 7 para crear el buzón de contacto y no hay forma de que me funcione, ya que no recibo los correos. Lo tengo configurado para que llegue a mi gmail y no hay manera. He leído en algunos blogs que una solución podría ser instalar el plugin WP-Mail-SMTP. Lo he instalado pero tampoco me funciona. No sé si este plugin no lo configuro bien. ¿Cómo lo tendría que configurar para el gmail?
    Gracias de antemano por tu respuesta!!

    Saludos

    • Hola Guillermo,
      Para lo que quieres te puedes apoyar de otro plugin https://es.wordpress.org/plugins/leadin/ que hace un tracking de todas las visitas y te dice desde donde accedió X persona que llenó tu formulario. Justo lo que necesitas.

  • Hola! Quisiera saber como configurar el plugin para que cuando me llegue un correo aprete responder y le responda al cliente. Por ahora me funciona todo bien pero en mi casilla de correo quiero responder a un cliente y en para me aparece mi correo.

    Saludos!

  • Hola buenas noches mi duda es que tengo un formulario de suscripción y quiero que cuando el usuario ingrese su correo y los demas datos llegen dos correos uno al administrador que en este caso le llegara los datos del usuario y el otro que sera un mensaje de gracias por su suscripción esto se pordra hacer con este plugin ?? gracias espero tu respuesta!:

    • Hola Fernando,

      Gracias por visitarnos te comento que esto si es posible.

      Solo tienes que ir a la edición del formulario en tu wp-admin, en la primera pestaña se configura el formulario en sí, en la segunda pestaña «Correo Electrónico» es donde configuras a que correo llegará el mensaje, pues justo allí más abajito puedes ver «Usar correo electrónico (2)» esa opción es para enviar un mensaje también al usuario, entonces tildas esa opción y configuras según las cosas que quieres que se envíe en el mensaje al usuario.

      Saludos.

      • Ok pero lo que no entiendo es que en segundo form de autoresponder me da la opción para colocar el correo a la persona que le va a llegar el gracias, pero por ejemplo otro usuario ingresa otro correo no le va llegar!! nose si me entienda!. Gracias por su respuesta!.

        • Hola Fernando, estamos hablando del Contact Form 7 y no de otro plugin.

          En tu wp-admin debes ir a la edición del contact form 7 así:

          http://prntscr.com/baujod

          Y luego bajas el scroll y verás «Usar correo electrónico (2)» lo debes activar, ese segundo correo es el que le llega al usuario.

          De manera predeterminada contact form 7 envía los datos que el usuario colocó en el formulario al administrador del sitio, puedes ver en la imagen que en mi caso le llegan al correo info….

          Si me hablas de otro plugin no podré ayudarte porque este post es sobre contact form 7

          • Ok gracias me a servido de mucho!!! ahora lo único que quisiera saber como hago para cambiar el a través de sd–……. por ejemplo:
            Atocongo suscripciones@atocongo.pe a través de sd-1172597-l.dattaweb.com gracias de antemano!!!!. estoy muy agradecido.

          • Fernando, supongo que te refieres a que eso aparece en el cliente de correo cuando envías el mensaje, eso es solamente el hostname del servidor que envió el correo y no puede cambiarse. Es algo que lo configura tu proveedor de hosting en el servidor y no puede ser cambiado pero no es nada malo.

  • hola, mi pregunta es como puedo hacer que contac form se divida en 2 o sea que en el lado izquierdo se encuentre las casillas de nombre , telefono etc y en le lado derecho se encuentre el area de texto y el boton de enviar , gracias por la respuesta

    • Hola Andy,

      Hacer eso es super simple, si te das cuenta dentro del plugin el bloque donde ponen los shortcodes de los campos del formulario (https://hostingroup.com/wp-content/uploads/2014/12/guia-contact-form-imagen6.png) es un editor HTML, por lo tanto solo debes añadir 2 divs, en uno colocas algunos campos y en el otro los demás campos y con css pones los divs uno al lado de otro.

      Quedaría así:

      Aquí nombre, teléfono, etc

      Aquí area de texto y botón de enviar

      Saludos.

  • Hola muy buen articulo.
    Solo me encuentro con un problema y es que he añadido la etiqueta telefono pero cuando me rellenan el formulario y me lo envian me aparece: telefono pero no sale el numero
    a ver si pueden ayudarme
    de antemano
    Gracias

  • Hola, estoy probando el contac Form 7 y funciona porque he podido incluso colocar distintos formularios en varias secciones. Me llegan los mail con los datos, la cuestión es que quien se registra con el formulario de contacto no me figura como subscriptor ni tampoco los datos dentro de mi sitio, todo me llega al mail y nada queda en la pestaña usuarios en mi escritorio de wordpress. Estoy haciendo el sitio a pulmón y sin saber nada así que perdón sino me expreso debidamente. Agradecería tu ayuda.

  • Buenas tardes, una consulta, configuré un formulario de contacto y me gustaría que los mensajes me los envíe a un correo específico de hotmail. Pero no me deja hacerlo, me sale el siguiente cartel «this email address does not belong to the same domain as the site». Hay alguna manera de llevarlo a cabo?
    gracias

    • Hola,
      En el campo «De:» Siempre deberás colocar un correo con el mismo dominio que el wordpress, por ejemplo aquí sería correo@hostingroup.com, ya que el campo «de» es el remitente, la persona que envía el correo y por lógica no puedes enviar un correo haciéndote pasar por otra persona. Así que en el campo «De:» coloca un correo corporativo.

      Donde debes poner tu correo hotmail es en el campo «Para:» que es el destinatario, es decir los mensajes deben llegar a ese correo, justo lo que quieres.

      Entonces recuerda «De:» tu correo con el dominio del wordpress y «Para:» tu hotmail

      Saludos.

      • «Así que en el campo “De:” coloca un correo corporativo.»

        En el campo «De» pongo ‘info@teing.com.ar’ y en el campo para ‘teingaxel@gmail.com’

        Igualmente me figura el error con el borde rojo ¿Que puedo hacer?

        • Hola Axel,
          Lo que sucede es que estás colocando «info@teing.com.ar» en tu sitio wordpress que NO está en dicho dominio. Acabo de entrar al dominio y es un sitio HTML, por lo tanto para WordPress estás «robando identidad» por así decirlo.

          Imagina que nosotros configuremos nuestros correos para que se envíen como «admin@google.com», tendremos el mismo error porque nosotros no somos google.com

          Por otro lado, si en verdad SI tienes ese correo «info@teing.com.ar» (usuario, contraseña) puedes instalar el plugin WP Mail SMTP.

          Este plugin te permite conectarte por el protocolo SMTP a tu servidor de correo (el que utilizas en info@teing.com.ar) y que se envíe tus mensajes sin problema con ese correo colocando en el campo «De».

  • Hola buenas, tengo una duda, me gustaría saber si hay alguna manera de reenviar la información del formulario a la persona que lo rellena además del destinatario normal.

  • Hola, excelente guia, me ha ayudado en mucho. Tengo una duda, me pueden ayudar por favor?
    Alguien sabe omo vincular el correo y nombre en contac form 7, con los datos de usuario de la sesión en wordpress?

    Lo que quiero es que sean los administradores quienes puedan llenar un formulario de asistencia en el sitio web, pero me interesa que automaticamente se envíen los datos con el nombre y correo ya asignado como administrador, sin tener que volverlos a escribir. Les agradezco mucho de antemano 🙂

  • Hola.
    Cree desde cero mi tema en wordpres e instalé contact form 7, después, puse el shortcode en mi sección, pero no me muestra el formulario, solo veo el sorthcode. Debo instalar algo más para poderlo ver en mi sección de contacto?
    Gracias por su ayuda!

  • >