Microsoft KB Archive/253565
Article ID: 253565
Article Last Modified on 6/12/2001
- Microsoft Commercial Internet System 2.0
This article was previously published under Q253565
The POP3 server does not let some members log on to retrieve their e-mail. Microsoft Outlook Express will show the following error when you are trying to log on after three attempts even when you are using the correct password:
The same e-mail address has been assigned to more than one user.
This is an ambiguous situation for Microsoft Commercial Internet System (MCIS) because the POP3 service can't find out which user is supposed to be the valid one for the given e-mail address, so it rejects all logon attempts from all users that have the same e-mail address.
To resolve this problem, find the users who have duplicate e-mail addresses and change the e-mail addresses.
You can avoid this problem by running a script similar to one of those provided in the "More Information" section of this article to find out if a specific e-mail address is already in use.
Note that although MCIS does not let any user with a duplicated e-mail address log on, it drops the e-mails sent to this e-mail address to the mailbox directory of the user created first of those with the duplicate address. So no e-mail sent to the ambiguous address is actually lost.
You can use a script like those samples listed in the "More Information" section of this article in order to probe the mapped Membership Directory database to see if there are users who are already listed using a specific e-mail address. When querying the Membership Directory instance, using the Active Directory OLEDB Provider may yield faster results than sequential Lightweight Directory Access Protocol (LDAP) container searches.
This behavior is by design.
Sample script using LDAP
'Sample Script 1 'script sample to find duplicate e-mail addresses by performing sequential search 'You will need to edit the LDAP server names below to match your server 'usage : cscript.exe FindDups.vbs Dim oLDAP, oADsContainer, oADsNewContainer, oADsUser, oADsNewUser Dim strLdapPath Dim strEmail Dim intCount, intButton On Error Resume Next intCount = 0 'enter the searched e-mail address eg: email@example.com strEmail = InputBox("Enter e-mail address which is suspected to be duplicate") strLdapPath = "LDAP://server1:389/o=members/ou=Members" Set oLDAP = GetObject("LDAP:") if err then wscript.echo "bind failure on LDAP" wscript.quit end if ' set the account to an existing admin account and password Set oADsContainer = oLDAP.OpenDSObject(strLdapPath, "cn=Administrator,ou=Members,o=members", "password", 0) if err then wscript.echo "bind failure on strLdapPath" wscript.echo err.description wscript.quit end if set oLDAP = Nothing wscript.echo "----------------" for each oADsUser in oADsContainer if oADsUser.Mail = strEmail Then wscript.echo oADsUser.cn wscript.echo oADsUser.userPassword wscript.echo oADsUser.Mail wscript.echo oADsUser.mailboxlocation wscript.echo oADsUser.forwardingaddress wscript.echo "----------------" intCount = intCount + 1 end if next wscript.echo "----------------" wscript.echo "Number of users: " & intCount & ", who owns the same E-mailAddress: " & strEmail wscript.echo "----------------" intButton = MsgBox("Number of users : " & intCount, _ , "E-mailAddress to be suspected as duplicate: " & strEmail) 'Destroy the objects Set oADsContainer = Nothing Set oADsNewContainer = Nothing Set oADsUser = Nothing
Sample script using OLEDB
'Sample Script 2 - this one might work faster than the above sequential LDAP search sample 'script sample to find duplicate e-mail addresses by using Active Directory OLEDB Provider 'You will need to edit the LDAP server names below to match your server 'usage : cscript.exe FindDups2.vbs On error resume next Dim con, rs, com Dim strEmail Dim intButton Set con = WScript.CreateObject("ADODB.Connection") Set rs = WScript.CreateObject("ADODB.Recordset") Set com = WScript.CreateObject("ADODB.Command") strEmail = InputBox("Enter e-mail address which is suspected to be duplicate") con.Provider = "ADsDSOObject" con.Open "Active Directory Provider" Set com.ActiveConnection = con com.CommandText = "<LDAP://server1:389/o=members/ou=Members>;" & _ "(&(mail=" & strEmail & "));" & _ "ADsPath;" & _ "SubTree" Set rs = com.Execute if err then wscript.echo "ADSI: ADO Query failure" wscript.echo err.description wscript.quit end if rs.MoveFirst While Not rs.EOF wscript.echo rs.Fields(0).Name, " = ", rs.Fields(0).Value rs.MoveNext Wend rs.MoveLast wscript.echo wscript.echo "Number of duplicate EMailAddress rows found= ", rs.RecordCount intButton = MsgBox("Number of users : " & rs.RecordCount, _ , "E-mailAddress to be suspected as duplicate: " & strEmail) Set com = Nothing Set rs = Nothing Set con = Nothing
Additional query words: MCIS ADSI
Keywords: kbprb KB253565