1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
You can use two ways to manage windows 2003 pop3 service and it's email accounts. Microsoft has two basic ways to do it:
- using pop3 service snapin to mmc (p3server.msc) for interactive work
- using winpop.exe command line. The command line can be used to manage accounts from script, but you will have a lot of work with monitoring output, etc.
Better way is to use P3Admin.dll and it's programming interface. The DLL is not finished work (as you can see inside the DLL), but is is a better way for the task than command line.
You can manage the accounts locally or remotelly. You will need P3Admin.dll, P3Store.dll, Pop3Auth.dll, Pop3evt.dll, pop3perf.dll and pop3snap.dll DLLs (registerred using regsvr32)
Next function lets you add an user email account to windows 2003 pop3 service using script or other programming environment. The script bellow is written in VBA 6 (You can use it in Visual basic 6, Excel, Access, ...), you can simply modify the script for VB Script or VB.Net.
...
'next command creates 'franta@market.cz' pop3 account
' on 'hlavni' computer with '5koni' password.
AddPop3User "hlavni", "franta", "market.cz", "5koni"
...
'Adds an user account To a Windows 2003 POP3 service
'2005 Antonin Foller, http://tips.motobit.com
Public Function AddPop3User(MachineName As String, _
UserName As String, _
DomainName As String, _
Password As String) As P3ADMINLib.P3User
'get a configuration object.
Dim P3 As New P3ADMINLib.P3Config
'get the object from a VB Script/JScript
'Set P3 = CreateObject("P3Admin.P3Config")
'Connect To the remote computer.
If Len(MachineName) > 0 Then P3.MachineName = MachineName
Dim Domain As P3ADMINLib.P3Domain
Dim User As P3ADMINLib.P3User
'get the domain object
On Error Resume Next
Set Domain = P3.Domains.Item(DomainName)
If Err = &H80070003 Then
'The domain is registerred In SMTP
' but Not In POP3
ElseIf Err = &H8007054B Then
'the domain does Not exists. Create it.
On Error Resume Next
P3.Domains.Add DomainName
If Err <> 0 Then
'On Error GoTo 0
Err.Raise Err, , "Domain " & DomainName & " cannot be added."
End If
End If
'add a user account
On Error Resume Next
Domain.Users.AddEx UserName, Password
If Err = &H8007050 Then 'ERROR_FILE_EXISTS
'the user account already exists.
'do some action In this Case.
End If
'get the created user account
Set User = Domain.Users.Item(UserName)
Set AddPop3User = User
End Function |
Partager