我正在尝试更改/更新邮件帐户信息,而不更改/删除(?)plesk 12.5中的其他邮件帐户设置。 在这种特殊情况下,我想更改帐户的密码,而不删除它的别名[es](或任何其他信息粘贴到此邮件帐户......)。
首先,我试过:
$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;
$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;
当我执行此操作时,一切正常但是:所有邮件别名都消失了! :-(到目前为止我真正不明白的是:“为什么”?我根本没有触及别名...
所以我想到的第二种方法是首先“获取”别名,用上面的代码更改密码并再次粘贴“旧”别名。 但是当我尝试使用以下命令获取别名时
$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。)哪种方式是最好/正确的“让我的愿望发生”? ; - )
2.。)如何从PLESK的响应中获取单个信息(即:只是我发布为“OUTPUT”的字符串中的别名)
我使用的参考:http://docs.plesk.com/en-US/12.5/api-rpc/reference/managing-mail/
提前多多感谢! :) 迈克尔
PS:对不起我的“未经修饰的”英语......这是很久以前的事了!
答案 0 :(得分:0)
也许我没有得到你,但这就是你如何从API响应中获取别名:
$xml = new SimpleXMLElement($output);
$result = $xml->xpath('//alias');
while(list( , $node) = each($result)) {
echo $node . "\n";
}