| 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. |
|
| Enlace al Repositorio | \u003chttps://github.com/jericson/discourse-contact-plugin\u003e | |
| 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_inyenable_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.
- 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).
- Añade miembros que recibirán información de contacto.
- No marques ninguna de las opciones de acceso. Este debe ser un grupo cerrado.
- Cambia la visibilidad del grupo como sea razonable para tu organización.
- 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:
- Desde la página
/tags, selecciona la llave inglesa en la esquina superior derecha. - Selecciona "Administrar Grupos de Etiquetas" y luego selecciona "
Nuevo Grupo". - Introduce un nombre apropiado (por ejemplo, "Solo personal"), añade la etiqueta
contacty selecciona "Las etiquetas son visibles para todos, pero solo los siguientes grupos pueden usarlas". - 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-pluginbasada 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.





