Hi, once again i need some help understanding a function. The function "mail_forward_add" takes a array with the necessary options. Code: $params = array( 'server_id' => 1, 'source' => '[email protected]', 'destination' => '[email protected]', 'type' => 'forward', 'active' => 'y' ); I need to hand over multiple destinations, how can i achieve this? Can i pass over an array for destinations? In the webinterface it is possible to set multiple destinations. //Edit: Seems like it just takes a ',' seperated list for multiple destionations; trying and reporting back
That makes sense, however i didn't reach that point as of yet, because i don't understand the mail_domain table. Where is the relation to the customer in this table? The webinterface shows "Status, Customer, Server, Domain" under E-Mail Domains. I need to get the customer_no from an mail domain, so i thought i could just grab it like this -> $mr = mail_domain_get_by_domain(...) -> $cr = client_get(... $mr['client_id'] ...) But $mr does infact not contain the client_id, it contains the sys_userid what confuses me is that the sys_userid that is in the db is always exactly "customer_id + 1"; i am a bit confused here, brain is lagging, can someone explain it for me?
Most tables have the fields sys_user, sys_group, and sys_perm_*. This works similarly to Linux users file permissions. Each client has its own group in the sys_group table. To get the client of a mail domain, you must use the sys_groupid from mail_user table to look up the group in sys_group table and the sys_group table has a column for the client_id, which you can use to get the client record. To get a client for an email domain: Code: $domain = 'example.tld'; $maildomain = $remote->mail_domain_get($session_id, 'domain' => $domain); $client = $remote->client_get_by_groupid($session_id, $maildomain['sys_groupid']); untested That's by coincidence, the id's can differ completely.