Formulario de contacto

:information_source: Resumen Añade un formulario de contacto en la parte superior de cualquier tema etiquetado como contact. La información enviada a través del formulario se enviará al grupo o categoría configurada para recibirla.
:hammer_and_wrench: Enlace al Repositorio \u003chttps://github.com/jericson/discourse-contact-plugin\u003e
:open_book: Guía de Instalación Cómo instalar plugins en Discourse

Características

Cuando el plugin Formulario de Contacto está habilitado, coloca un formulario de contacto en la parte superior de cualquier tema etiquetado como contact. Los datos enviados a través del formulario se envían a una categoría o grupo configurado para recibir correo de contact_form_email.[1] Al igual que los formularios de contacto tradicionales, no se requiere tener una cuenta en el sitio para enviar.

Así es como podría verlo un visitante:

Ten en cuenta que esta es una publicación normal que puede tener cualquier instrucción que desees incluir en el cuerpo.[2] Actualmente, los nombres de los campos están codificados y no se realiza ninguna validación real, pero consulta la sección TODO a continuación. Después de enviar el mensaje, aparecerá en el feed de mensajes del grupo configurado:

Dependiendo de cómo estén configuradas sus notificaciones por correo electrónico, los miembros del grupo configurado también pueden recibir un correo electrónico de Discourse:

Configuración

Para poder usar este plugin, debes configurar el correo entrante para crear temas o mensajes de grupo. No es necesario configurar la respuesta por correo electrónico ya que el plugin en realidad no envía correos electrónicos. Secuestra la API para simular correos entrantes. (Dicho esto, ¡la respuesta por correo electrónico es una función útil!)

En particular, este plugin requiere:

  • email_in y
  • enable_staged_users

que estén habilitados.

Una vez habilitado, cualquier tema etiquetado como contact tendrá un formulario de contacto añadido al outlet del plugin topic-above-posts.

Enviar a un grupo

Dado que las personas usarán este formulario para enviar su información personal, enviar los resultados a un grupo cerrado es la opción más segura.

  1. Crea un nuevo grupo para las personas que manejarán los contactos. (Normalmente lo llamo "Contacto" por simplicidad, pero podría ser cualquier cosa, incluido un grupo existente).
  2. Añade miembros que recibirán información de contacto.
  3. No marques ninguna de las opciones de acceso. Este debe ser un grupo cerrado.
  4. Cambia la visibilidad del grupo como sea razonable para tu organización.
  5. Establece la "Dirección de correo electrónico entrante personalizada" como la misma que la configuración contact_form_email. (Por defecto, es "contact@example.com".)

Enviar a una categoría

Enviar a una categoría también es posible usando la configuración de categoría "Dirección de correo electrónico entrante personalizada". Asegúrate de habilitar también "Aceptar correos de usuarios anónimos sin cuenta".

¡Sin embargo, no se recomienda enviar a una categoría para información de contacto! Si por alguna casualidad se cambian los permisos de acceso de la categoría, podría exponer información personal a personas (o motores de búsqueda) que no deberían tener acceso. Es mucho menos probable que suceda si los contactos se envían a mensajes de grupo en su lugar.

Limitar quién puede añadir formularios de contacto

Podría ser bastante extraño que aparecieran formularios de contacto por todas partes, por lo que es posible que desees limitar quién puede usar la etiqueta contact. Para hacerlo, crea un nuevo grupo de etiquetas:

  1. Desde la página /tags, selecciona la llave inglesa en la esquina superior derecha.
  2. Selecciona "Administrar Grupos de Etiquetas" y luego selecciona ":heavy_plus_sign: Nuevo Grupo".
  3. Introduce un nombre apropiado (por ejemplo, "Solo personal"), añade la etiqueta contact y selecciona "Las etiquetas son visibles para todos, pero solo los siguientes grupos pueden usarlas".
  4. Elige el grupo al que deseas permitir añadir un formulario de contacto (normalmente "personal" o "administradores") y guarda el grupo de etiquetas.

REGISTRO DE CAMBIOS

  • 25 de abril de 2024: Lanzamiento Alfa.

TODO

  • Me gustaría configurar pruebas para asegurarme de que nada se rompa cuando haga cambios. En particular, quiero verificar que las personas sin cuenta puedan enviar sus datos.
  • Mientras probaba, descubrí una fuga de datos importante. Eliminé esa vulnerabilidad en particular, pero realmente podría usar ayuda para probar.
  • El formulario no realiza ninguna validación. El único requisito real es que el campo de correo electrónico parezca un correo electrónico. Si alguien deja una respuesta sin añadir un correo electrónico, el formulario falla silenciosamente.
  • No hay protección contra spam o abuso.
  • El código es de calidad mi-primer-plugin basada en ejemplos que usaban convenciones obsoletas. Cualquier sugerencia sobre el estilo es bienvenida.
  • Me gusta tener el formulario de contacto asociado con un tema etiquetado como "contact", pero es complicado y probablemente innecesario. Estoy considerando añadir una nueva ruta que sea solo el formulario de contacto para simplificar.
  • Los datos de contacto se almacenan en la base de datos, pero podría ser útil tener un panel de administración para ver una lista de contactos.
  • El formulario está fijo a mis requisitos actuales, pero sería útil tener cierta flexibilidad sobre los campos que solicita.

  1. Esa configuración tiene por defecto "contact@example.com" pero puede configurarse para aceptar correos reales. ↩︎

  2. Incluso es posible responder al formulario de contacto, para bien o para mal. ↩︎

13 Me gusta

Esto no funciona. ¿Puedes actualizar a @jericson

Funcionando para mí.

1 me gusta

No es un tema, es un plugin. Véase Install plugins on a self-hosted site.

5 Me gusta

Lo instalé. Agregué mi correo electrónico a contact_form_email, habilité email_in, agregué 'everyone' en email in allowed groups, enable_staged_users. Probé el formulario, no, no estoy recibiendo ningún correo electrónico.

2 Me gusta

¡Buen trato! Podría ayudar a futuros lectores saber qué lo resolvió.

No instalo el plugin como tema, supongo :wink:

1 me gusta

¿Puedes publicar algunas capturas de pantalla del plugin en acción? ¿Se puede modificar/configurar el “Formulario de contacto”?

1 me gusta

¡Claro! Mira la publicación editada.

Lamentablemente no. ¡Pero las PR son bienvenidas!

1 me gusta

Plugin bastante bueno. Supongo que la dirección de correo electrónico falsificada no se muestra al usuario final.

Correcto. Tengo otro plugin (aún más rudimentario que este) para obtener reseñas anónimas. Uso review@example.com para dirigir esos mensajes al destino adecuado. Es solo una cadena de texto.

1 me gusta