Microsoft KB Archive/253565

= Duplicate E-mail Addresses Prevent Users from Logging on to POP3 Server =

Article ID: 253565

Article Last Modified on 6/12/2001

-

APPLIES TO


 * Microsoft Commercial Internet System 2.0

-



This article was previously published under Q253565



SYMPTOMS
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:

There was a problem logging onto your mail server. Your Password was rejected. Account: 'user1', Server: 'server1', Protocol: POP3, Server Response: '-ERR Permission denied', Port: 110, Secure(SSL): No, Server Error: 0x800CCC90, Error Number: 0x800CCC92



CAUSE
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.



RESOLUTION
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.



STATUS
This behavior is by design.



MORE INFORMATION
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: user@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 = ";" & _ "(&(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

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.