Mentre provavo la sincronizzazione IMAP, è stato creato un utente in staging per Group.email_username durante l’importazione dall’account IMAP.
Nel tentativo di capire cosa sia successo, ho notato che Group.find_by_email non tiene conto di Group.email_username, rendendo necessario impostare Group.incoming_email in modo che includa almeno questo valore.
Passi per riprodurre il problema:
abilita la sincronizzazione IMAP
configura le opzioni di sincronizzazione email su un gruppo, ma lascia Group.incoming_email non configurato
Grazie @thoka, ho dato un’occhiata a questo. Penso che tu abbia ragione nel dire che Group.find_by_email debba includere email_username, ma non è la causa per cui l’utente email del gruppo viene creato in staging in questo caso. Questo accade in realtà più avanti nel ricevitore, dove aggiungiamo altri indirizzi al topic appena creato. La parte importante qui è should_invite?
Che a sua volta confronta l’email con group_incoming_emails_regex:
Penso che dovremo modificare questa espressione regolare, o un’altra, in modo da confrontare anche email_username. Finora non abbiamo riscontrato problemi nel fatto che venga creato l’utente in staging per il gruppo, anche se capisco che possa sembrare un po’ disordinato o inutile. Dovrò effettuare alcuni test quando apporterò questa modifica per assicurarmi che l’utente in staging per il gruppo non venga creato per qualche motivo importante attualmente sconosciuto (a me).