Server Remote Access by EmailArchitectObjects Component


EmailArchitectObjects supports the following ways of remote access.

Remote Access by Named Pipe

Copy EmailArchitectObjects.dll to the remote machine, and run "regsvr32 path\emailarchitectobjects.dll" to register it as a com object.

For Windows XP or later user, open "Administrative Tools" -> "Local Securiy Policy" on the server. Choose "Local Policies" -> "Security Options" -> "Networking access: Named Pipes that can be accessed anonymously", Add "{933495A9-9CBF-4517-80E5-9C08763A3984}" into the list and click "OK".

Add a NT user on the server who has the same name and password as the client NT user. e.g. You logon the client with NT user "tester", then you should add "tester" user on the server as well, and make sure they have the same password. If you logon client machine with NT built-in account "administrator", then this account must have the same password as the "administrator" account on server.

Finally, you can use EmailArchitectObjects to access server like this:

[VBScript]
Set oSvr = CreateObject("EmailArchitectObjects.ServerRoot")
r = oSvr.Connect( "myserveraddress", "system", "pass", 0 )
If r <> 0 Then
  WScript.Echo( "connect server failed!" )
End If

Remote Access by TCP/IP

Copy EmailArchitectObjects.dll to the remote machine, and run "regsvr32 path\emailarchitectobjects.dll" to register it as a com object.

Logon EAS Web Access with "system" account, click "Services -> Remote Object Call", and make sure this service started. The default setting of Remote Object Call service only permits the access of emailarchitectobjects from IP address "127.0.0.1"(ipv4) and "::1"(ipv6). You should add IP address of your client machine to the allowed list, or change the Connection Control to "All except the IP addresses' list below" and remove all IP addresses from the denied list. In the IP addresses list, you can use wildcard(*) to represent a group of IP addresses, e.g. 192.168.0.* or 10.1.*

Finally, you should use [host name or IP address] [listen port] as the host name in Connect, Su, and OpenSession methods.

[VBScript]
Set oSvr = CreateObject("EmailArchitectObjects.ServerRoot")
r = oSvr.Connect( "mail.adminsystem.com 7328", "system", "pass", 0 )
If r <> 0 Then
  WScript.Echo( "connect server failed!" )
End If
[VBScript]
Set oSvr = CreateObject("EmailArchitectObjects.ServerRoot")
r = oSvr.OpenSession( sessionkey, "192.168.0.1 7328" )
If r <> 0 Then
  WScript.Echo( "connect server failed!" )
End If

If you use TCP/IP to access server, you need to use NOOP method of ServerRoot to keep the TCP/IP connection alive if you don't invoke any method of emailarchitectobjects in the "Connection timeout" interval. And once the total Connection time reaches "Session timeout" in Remote Object Call service, the server will terminate the connection forcedly.

You can change the value of "Connection timeout" and "Session timeout" in Remote Object Call service setting.

See Also

EmailArchitectObjects References