Registrations are now open. Join us today!
There is still a lot of work to do on the wiki yet! More information about editing can be found here.
Already have an account?

Difference between revisions of "Microsoft KB Archive/253565"

From BetaArchive Wiki
m (Text replacement - "<" to "<")
m (Text replacement - ">" to ">")
Line 169: Line 169:
 
   con.Open &quot;Active Directory Provider&quot;
 
   con.Open &quot;Active Directory Provider&quot;
 
   Set com.ActiveConnection = con
 
   Set com.ActiveConnection = con
   com.CommandText = &quot;<LDAP://server1:389/o=members/ou=Members&gt;;&quot; &amp; _
+
   com.CommandText = &quot;<LDAP://server1:389/o=members/ou=Members>;&quot; &amp; _
 
               &quot;(&amp;(mail=&quot; &amp; strEmail &amp; &quot;));&quot;  &amp; _
 
               &quot;(&amp;(mail=&quot; &amp; strEmail &amp; &quot;));&quot;  &amp; _
 
               &quot;ADsPath;&quot; &amp; _
 
               &quot;ADsPath;&quot; &amp; _

Revision as of 08:44, 21 July 2020

Knowledge Base


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 = "<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