Estágios de sincronização IMAP novo usuário se Group.incoming_email não estiver definido como Group.email_username

Ao testar a sincronização IMAP, um usuário temporário foi criado para Group.email_username durante a importação da conta IMAP.

Ao tentar entender o que aconteceu, notei que Group.find_by_email não considera Group.email_username, exigindo que Group.incoming_email seja definido para incluir esse valor, pelo menos.

Passos para reproduzir:

  • ative a sincronização IMAP
  • configure as opções de sincronização de e-mail em um grupo, mas deixe Group.incoming_email sem configuração
  • envie um e-mail para Group.email_username
1 curtida

Acredito que o IMAP ainda esteja um pouco em desenvolvimento, @sam?

Deveria ser razoavelmente suportado, pois o utilizamos em produção no Meta.

@martin, você pode dar uma rápida olhada neste relatório?

Obrigado @thoka, analisei isso. Acredito que você esteja certo ao dizer que Group.find_by_email precisa ter o email_username incluído, mas esse não é o motivo pelo qual o usuário de email do grupo está sendo criado como provisório neste caso. Isso na verdade ocorre mais adiante no receiver, quando adicionamos outros endereços ao tópico recém-criado. A parte importante aqui é should_invite?

O que, por sua vez, compara o email contra group_incoming_emails_regex:

Acho que precisaremos ajustar essa regex, ou outra, para que também compare o email_username. Até agora, não consideramos um problema que o usuário provisório do grupo seja criado, embora eu veja que isso pareça um pouco confuso/desnecessário. Vou precisar fazer alguns testes ao alterar isso para garantir que o usuário provisório do grupo não esteja sendo criado por algum motivo importante que eu ainda desconheço.

5 curtidas

Isso foi corrigido em FEATURE: Use group SMTP settings for sending user notification emails (initial) by martin-brennan · Pull Request #13220 · discourse/discourse · GitHub, e a interface de configuração de e-mail do grupo passou por uma reformulação recente. No entanto, o IMAP ainda está em estado alfa, então use essa funcionalidade por sua conta e risco.

3 curtidas