hMailServer, COM API und C#

In: Computer|Programmieren|Windows

9 Aug 2010

Die COM API des Windows Mailservers hMailServer bietet die Möglichkeit der Verwaltung über eine COM-Schnittstelle. In C# kann somit der Server administriert werden.

Zunächst muss dafür die ausführbare Datei hmailserver.exe als  Referenz hinzugefügt werden.

hMailServer-Referenz

Im Anschluss kann nun die API verwendet werden:

// Objekt erstellen
Application mailserver = new hMailServer.Application();
// Anmelden mit dem Admin-Accounts
mailserver.Authenticate(username, password);

// Erstellen einer Liste sämtlicher Accounts zu einer bestehenden Domain
Domain domain = mailserver.Domains.get_ItemByName("xyz.net");
List<String> accList = new List<String>();
for (int i = 0; i < domain.Accounts.Count; i++)
{
    accList.Add(domain.Accounts[i].Address);
}

// Ein Account zu einer bestehenden Domain hinzufügen
Domain domain = mailserver.Domains.get_ItemByName("xyz.net");
Account account = domain.Accounts.Add();
account.Address = "info" + "@" + domain.Name;
account.Save();

Mit Hilfe der Dokumentation für die COM API der Software können zahlreiche Dinge administriert werden.

2 Responses to hMailServer, COM API und C#

Avatar

Konrad Erich Hinze

März 8th, 2013 at 14:17

Hallo Marco,

Main Deutsch ist nicht so gut. Ich komme von Zuid-Africa. Ich hab hmailServer ge-implementiert als ein windows service. Jetzt will ich eine application programmieren die leuft als ein windows service. Diese Application soll connectieren zu main hmailServer service und soll die users controllieren. When schlimste zu slimmsten kommt werde ich die users in den database auf den hmail server gebraucht in meine application rein ziehen. Aber wen dieser COM zum windows service connectieren can von wo ich alles kontrollieren kann dan wuerde es leichter sein. Ist dies moeglich? Excuse my German.

Kind Regards
Konrad

Avatar

Marco

März 8th, 2013 at 15:36

Hello Konrad,

so as I understood you want to manage the users in hmailserver using the COM API and not directly in the database? Is that right?

If so, I think you can use COM. It looks like you only have to adapt the example above where I exemplary output existing users (accounts) of an existing domain and after that add a further user (account) to that domain.

You also can write in english.

Best regards,
Marco

Kommentarformular

Mein Blog

Das ist mein kleines, feines Blog.

Bitcoin Donations

Donate to:

16trnkueSDrFdfde1oJsEe7D3HjNq2QQUJ

Partner