Hi, Our organisation was recently merged with another, and we have a lot of email address updates coming. Normally I could just do a straight s/ old.com/new.com/ in the database, but there will be unpredictable changes in naming conventions where there are collisions. For instance [email protected] will become [email protected] where there's already a Joe Bloggs in the new organisation.
The RT user table is populated from AD with the ExternalAuth plugin, on user action (not syncing, as there are *far* too many users to import in the org as a whole - our RT is just for a couple of departments). Most user interaction is by email only. This has served us well, but as various departments and users are migrated to the new email domain, we're getting errors such as this: [Thu Feb 7 15:16:08 2013] [info]: RT::Authen::ExternalAuth::CanonicalizeUserInfo returning ***valid updated info*** (/opt/rt4/local/plugins/RT-Authen-ExternalAuth/lib/RT/Authen/ExternalAuth.pm:665) [Thu Feb 7 15:16:08 2013] [crit]: User creation failed in mailgateway: Name in use (/opt/rt4/sbin/../lib/RT/Interface/Email.pm:245) [Thu Feb 7 15:16:10 2013] [warning]: Couldn't load user '[email protected]'.giving up (/opt/rt4/sbin/../lib/RT/Interface/Email.pm:1023) [Thu Feb 7 15:16:10 2013] [crit]: User '[email protected]' could not be loaded in the mail gateway (/opt/rt4/sbin/../lib/RT/Interface/Email.pm:245) [Thu Feb 7 15:16:11 2013] [error]: RT could not load a valid user, and RT's configuration does not allow for the creation of a new user for this email ([email protected]). You might need to grant 'Everyone' the right 'CreateTicket' for the queue General. (/opt/rt4/sbin/../lib/RT/Interface/Email.pm:245) [Thu Feb 7 15:16:12 2013] [error]: RT could not load a valid user, and RT's configuration does not allow for the creation of a new user for your email. (/opt/rt4/sbin/../lib/RT/Interface/Email.pm:245) [Thu Feb 7 15:16:13 2013] [error]: Could not record email: Could not load a valid user (/opt/rt4/share/html/REST/1.0/NoAuth/mail-gateway:75) So it seems that it detects the account details correctly by searching the AD for the new email address, but it tries to create a new account which fails because there's a username collision. It doesn't seem to attempt to update the existing account with that username. The user has just a straightforward non-privileged account. The 'CreateTicket' permission is granted for 'Everyone', but that's clearly not the issue in this case. I've scanned the config options for both RT and ExternalAuth, and very briefly picked through the code, and I can't see anything obvious to allow the mail attribute to be updated. Can anyone shed some light on this? I'll have to keep updating addresses manually as I get the failure notification otherwise...
-- Help improve RT by taking our user survey: https://www.surveymonkey.com/s/N23JW9T
