PLESK XML API:如何在不删除邮件别名的情况下更改邮件帐户信息

PLESK XML API: How to change mail account infos without deleting mail-aliases

我试图在 plesk 12.5 中 change/update 没有 changing/removing(?) 其他邮件帐户设置的邮件帐户信息。 在这种特殊情况下,我想更改帐户的密码而不删除它的别名[es](或任何其他附加到此邮件帐户的信息...)。

首先,我试过: </p> <pre><code>$request = <<<EOF <packet> <mail> <update> <set> <filter> <site-id>SOME ID</site-id> <mailname> <name>SOME NAME</name> <password> <value>SOME VALUE</value> <type>NEW PASSWORD</type> </password> <description><![CDATA[SOME DESCRIPTION]]></description> </mailname> </filter> </set> </update> </mail> </packet> EOF;

当我执行此操作时,一切正常但是:所有邮件别名都消失了! :-( 到目前为止我真正不明白的是:"why"??我根本不碰别名...

所以我想到的第二种方法是先 'getting' 别名,用上面的代码更改密码并再次粘贴 "old" 别名。 但是当我尝试使用以下方法获取别名时:

</p> <pre><code>$request = <<<EOF <packet> <mail> <get_info> <filter> <site-id>SOME ID</site-id> <name>SOME NAME</name> </filter> !!<aliases/>!! </get_info> </mail> </packet> EOF; $response = $client->request($request); var_dump($response);

OUTPUT: string(int) "ok id name mailalias1 mailalias2 xxx off description"(我手动添加了两个别名是正确的)

现在我有两个问题:

1.) best/correct 哪条路可以变成 "my wishes happen"? ;-)

2.) 我如何从 PLESK 的响应中获取单个信息(即:仅从我作为 "OUTPUT" 发布的字符串中获取别名)

我用的参考:http://docs.plesk.com/en-US/12.5/api-rpc/reference/managing-mail/

提前致谢! :) 迈克尔

PS:抱歉我的 "unpolished" 英语...太久了!

也许我不明白你的意思,但这是你可以从 API 回复中获取别名的方法:

$xml = new SimpleXMLElement($output);

$result = $xml->xpath('//alias');

while(list( , $node) = each($result)) {
    echo $node . "\n";
}