Something like this (not tested - please test on a backup machine first if possible)
Change the password at the top
Code:
Option Explicit
const g_sAdminPassword = "secret" 'CHANGE ME
dim oApp, obMessages, obMessage
set oApp = CreateObject("hMailServer.Application")
Call oApp.Authenticate("Administrator", g_sAdminPassword)
set obMessages = oApp.Domains.item(0).Accounts.item(0).obFolders.ItemByName("Inbox").Messages
for d=0 to obMessages.count -1
set obMessage = obMessages.Item(d)
obMessage.Flag(2) = false
obMessage.Save
next
Basically save this as a file 'something.vbs', and then IF it works as planned, create a scheduled task to run this every whatever timeframe
As the number of messages increases, this script will take more and more time to run.
You could change the way that you get these messages into hMailserver rather than the Outlook rule, you could use hMailserver's external account feature, and then you could mark as read as they are downloaded (as per previous posts in this thread).
In fact if you used hmailserver's external account to download these messages, you may not even need to log onto the hMailserver account except to check that they are being downloaded. If you don't log onto the account, then you won't notice the 'un-read' status of the messages. Just a thought.