Question

I am using hMail Interop library from .net code to communicate with my email server. Is it possible to set catch all email server from that library?

Was it helpful?

Solution

The Interface Domain specifies the property Postmaster. This is a string that holds the address of an account that should be used as the catch-all for the domain.

Example:

public void SetDomainCatchAll(String domainName, String catchAllAddress)
{
    String myUserName = "MyUserName";
    String myPassword = "MyPasword";

    // get hMailServer application instance
    Application app = new ApplicationClass();
    app.Authenticate(myUserName, myPassword);

    // check that domain and account exist
    Domain domain = app.Domains.get_ItemByName(domainName);
    Account account = domain.Accounts.get_ItemByAddress(catchAllAddress);

    // set postmaster and save changes
    domain.Postmaster = account.Address;
    domain.Save();
}

Of course this is very rough code with no error checking or anything, but I hope it shows you what you want to know. If you use the Administration Program afterwards you can check on the advanced tab of the domain entry that the catch-all address has been successfully set.

I tested this on hMailServer version 5.4-B1950.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top