View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0002163||SOGo||Backend Mail||public||2013-01-08 05:05||2013-01-11 09:56|
|Target Version||2.0.4||Fixed in Version||2.0.4|
|Summary||0002163: In multidomain setup with smtp authentication _smtpSendData is using uid@domainID as login|
In an multidomain setup the authenticator used in SOGoMailer.m:_smtpSendData returns uid@domainID, which is not useful for smtp authentication.
As written in the Installation guide, the domainID does not need to be a real domain (the example uses acme and coyote)
Since this is a multidomain setup, providing just the uid as in single domain setup is not usefull either. The provided patch changes the login from uid@domainID to uid@mailDomain.
I do not know if the woContext parameter of the authenticator could also be used to tweak this, I did not look after that.
|Tags||No tags attached.|
patch_2.0.3a_alternative_smtp_user_multidomain (1,459 bytes)
After thinking about it for a while, it could be better to copy the behaviour of the IMAP logins, which is:
Always use "uid" as SMTP login instead of "uid@domainID" and only if desired use "email" as SMTP login. This would require a SOGoForceSMTPLoginWithEmail option.
This way it is more transparent, what do you think?
I think it's a better approach, provide an updated patch.
It took a while, I hope this is usable.
I learned, that SOGoUserManager:contactInfoForUserWithUIDorEmail already implements the correct splitting of the uid. So I reused that by adding getSmtpLoginForUID to the UserManager.
However, the extracted domainID was not available outside of contactInfoForUserWithUIDorEmail, so I added a key "domainID" to the returned contactInfos.
Since I copied getImapLoginForUID, it also checks for the key "c_smtplogin" but I guess to fully implement this, there are some code changes needed elsewhere.
patch_2.0.3a_SOGoForceSMTPLoginWithEmail (3,953 bytes)
After thinking about this, I think we should simply refactor the code a bit and use -getImapLoginForUID: inDomain:.
SOGoForceIMAPLoginWithEmail should be renamed to SOGoForceExternalLoginWithEmail and we should use that for both IMAP and SMTP.
I'll rework the current code.
|2013-01-08 05:05||jobisoft||New Issue|
|2013-01-08 05:05||jobisoft||File Added: patch_2.0.3a_alternative_smtp_user_multidomain|
|2013-01-09 06:58||jobisoft||Note Added: 0005093|
|2013-01-09 09:03||ludovic||Note Added: 0005095|
|2013-01-09 09:04||ludovic||Target Version||=> 2.0.4|
|2013-01-10 16:41||jobisoft||Note Added: 0005129|
|2013-01-10 16:42||jobisoft||File Added: patch_2.0.3a_SOGoForceSMTPLoginWithEmail|
|2013-01-11 09:09||ludovic||Note Added: 0005134|
|2013-01-11 09:56||ludovic||Note Added: 0005136|
|2013-01-11 09:56||ludovic||Status||new => closed|
|2013-01-11 09:56||ludovic||Resolution||open => fixed|
|2013-01-11 09:56||ludovic||Fixed in Version||=> 2.0.4|