Añadir masivamente dominios de correo electrónico de aprobación automática

Continuando la discusión de Formalized assignment and possible logging of pending applications

¿El valor de dominios de correo electrónico de aprobación automática es una cadena separada por espacios? ¿O separada por comas o por saltos de línea? Gracias de antemano, R

En la interfaz de usuario, los agregas uno por uno usando el botón :heavy_plus_sign: (y luego confirmando con la marca verde)

Muchas gracias @JammyDodger. Estábamos pensando en ser un poco más automatizados. Planeamos exportar nuestra lista actual de correos electrónicos, luego extraer aquellos que coincidieran con la lista de hipo de dominios universitarios, y luego importar esa nueva lista a discourse bajo la clave auto approve email domains. Usando python y pandas para el procesamiento numérico. ¿Supongo que esa ruta no es compatible? ¿O tenemos, o podemos tener, acceso programático? (PD: con referencia a tu captura de pantalla, gmail.com es el último nombre de dominio que soñaríamos con aprobar automáticamente).

Ah, y ¿podemos usar comodines como: *.tu‑berlin.de para tener en cuenta la inclusión de información departamental, por ejemplo maths.tu‑berlin.de?

1 me gusta

Tenía la sensación de que estaba siendo demasiado simplista. :slight_smile: Creo que esto se beneficiaría de dividirse en un nuevo tema de #soporte para que algunas personas más expertas lo vean. :+1:

Esto lo puedo apreciar. :slight_smile: No te preocupes, era una captura de pantalla de una maqueta en mi sitio de prueba, no de la configuración aquí en Meta. :slight_smile:

1 me gusta

Lamentablemente, creo que esto no es posible. Hice una solicitud de función mencionando esto:

Mi propuesta principal probablemente no era lo que querrías (significaría que si agregaras tu-berlin.de, incluiría maths.tu-berlin.de y todos los demás departamentos).

Ese es exactamente el comportamiento que estaba buscando.

1 me gusta

Si tienes acceso a la consola de Rails, entonces puedes establecer allowed email domains en una cadena delimitada por tuberías con un número arbitrario de nombres de host, así que eso parece viable.

No estoy seguro de por qué necesitarías procesamiento numérico; esto se puede hacer con herramientas UNIX estándar.

Esto te da la lista de dominios de la lista de Hipo:

curl -L 'https://github.com/Hipo/university-domains-list/blob/master/world_universities_and_domains.json?raw=true' |\
  jq '.[].domains' |\
  jq -r add |\
  sort -u

Si guardaste eso como domains.txt, y asumiendo que tienes un archivo con direcciones de correo electrónico llamado emails.txt, podrías obtener el subconjunto de dominios para incluir en la lista blanca con esto:

grep -if domains.txt emails.txt |\
  cut -d @ -f 2 |\
  sort -u

Es decir, incluso si la lista de dominios contiene solo tusculum.edu, un correo electrónico como some.student@mail.tusculum.edu produciría mail.tusculum.edu, que es el nombre de host que realmente deseas incluir en la lista blanca, en lugar del ápice.

Luego, solo queda establecer una cadena delimitada por tuberías que contenga estos dominios. ¿Funciona eso para ti?

1 me gusta

Gracias @leonardo. Tendré que preguntar a mi proveedor de alojamiento de Discourse si puedo acceder a la consola de Ruby on Rails (¿sospecho que no?). Pero enviaré una pregunta mañana.

Me siento cómodo con las utilidades de shell de bash que mencionas (empecé en SCO UnixWare alrededor de 1997 antes de migrar a Linux). Una razón para adoptar Python es que es más probable que los futuros administradores de nuestro foro tengan conocimientos de Python.

1 me gusta

Perfecto; Python debería hacerlo igual de fácil.

Si no, puedes usar la API (con una cuenta de administrador) para PUT /admin/site_settings/allowed_email_domains con una carga útil codificada en formulario como esta:

allowed_email_domains=zuyd.nl%7Czzgc.edu.cn%7Czzut.edu.cn

No, no puedes, pero siempre puedes usar la API (como sugirió Leonardo) o simplemente abrir un ticket con el comando que quieres que ejecutemos por ti. Incluso te enviaremos la salida :wink:

3 Me gusta

@RGJ muchas gracias. Otro pensamiento, probablemente sin ningún mérito. Pero poder subir una base de datos general, como la lista hipo, a una instancia de discourse y que discourse haga este tipo de filtrado y procesamiento sería, desde la perspectiva del usuario, ideal. :sloth:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.