Adicionar em massa domínios de e-mail de aprovação automática

Continuando a discussão de Formalized assignment and possible logging of pending applications

O valor para domínios de e-mail de aprovação automática é uma string separada por espaços? Ou separada por vírgulas ou separada por novas linhas? Obrigado, R

Na interface do usuário, você os adiciona um por um usando o botão :heavy_plus_sign: (e depois confirmando com o tique verde)

Muito obrigado @JammyDodger. Estávamos pensando em ser um pouco mais automatizados. Planejamos exportar nossa lista atual de e-mails, depois extrair aqueles que correspondem à lista hipo de domínios universitários e, em seguida, importar essa nova lista para o discourse sob a chave auto approve email domains. Usando python e pandas para o processamento numérico. Acho que essa rota não é suportada? Ou nós temos, ou podemos ter, acesso programático? (PS: com referência à sua captura de tela, gmail.com é o último nome de domínio que sonharíamos em aprovar automaticamente.)

Ah, e podemos usar curingas como: *.tu-berlin.de para levar em conta a inclusão de informações departamentais, digamos maths.tu-berlin.de.

1 curtida

Eu tinha a sensação de que estava sendo simplista demais. :slight_smile: Acho que isso se beneficiaria de ser dividido em um novo tópico de #suporte para que olhos mais experientes pudessem analisá-lo. :+1:

Isso eu posso apreciar. :slight_smile: Não se preocupe, era uma captura de tela de uma maquete no meu site de teste, não das configurações aqui no Meta. :slight_smile:

1 curtida

Infelizmente, acredito que isso não seja possível. Fiz uma solicitação de recurso mencionando isso:

Minha proposta principal provavelmente não era o que você gostaria (significaria que se você adicionasse tu-berlin.de, incluiria maths.tu-berlin.de e todos os outros departamentos).

Esse é exatamente o comportamento que eu estava buscando.

1 curtida

Se você tiver acesso ao console Rails, poderá definir allowed email domains como uma string delimitada por pipe com um número arbitrário de nomes de host, então isso parece viável.

Não tenho certeza por que você precisaria de processamento numérico; isso pode ser feito com ferramentas UNIX padrão.

Isso fornece a lista de domínios da lista 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

Se você salvasse isso como domains.txt e assumindo que você tem um arquivo com endereços de e-mail chamado emails.txt, você poderia obter o subconjunto de domínios para permitir com isto:

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

Isso significa que, mesmo que a lista de domínios contenha apenas tusculum.edu, um e-mail como some.student@mail.tusculum.edu resultaria em mail.tusculum.edu, que é o nome do host que você realmente deseja permitir, em oposição ao ápice.

Então, é apenas uma questão de definir uma string delimitada por pipe contendo esses domínios. Isso funciona para você?

1 curtida

Obrigado @leonardo. Terei que perguntar ao meu provedor de hospedagem do Discourse se posso acessar o console Ruby on Rails (suspeito que não?). Mas enviarei uma pergunta amanhã.

Estou confortável com as utilidades do shell bash que você menciona (comecei no SCO UnixWare por volta de 1997 antes de migrar para o Linux). Uma razão para adotar o Python é que futuros administradores do nosso fórum provavelmente terão mais conhecimento sobre Python.

1 curtida

Perfeito; Python deve tornar isso igualmente fácil.

Caso contrário, você pode usar a API (com uma conta de administrador) para PUT /admin/site_settings/allowed_email_domains com uma carga útil codificada em formulário como esta:

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

Não, você não pode, mas sempre pode usar a API (como Leonardo sugeriu) ou simplesmente abrir um ticket com o comando que você quer que executemos para você. Nós até enviaremos a você a saída :wink:

3 curtidas

@RGJ muito obrigado. Outro pensamento, provavelmente sem mérito algum. Mas ser capaz de fazer upload de um banco de dados abrangente, como a lista hipo, para uma instância do discourse e ter o discourse fazendo esse tipo de triagem e processamento seria, da perspectiva de um usuário, o ideal. :sloth:

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