如何使用 cPanel API 访问电子邮件帐户列表?

Rob*_*cks 5 php api cpanel

cPanel 是我们在服务器上安装的 Web 服务器管理应用程序。它有一个基于XML/JSON的PHP API,我们想用它来访问数据,例如所有电子邮件帐户的列表。这个系统很大,我在任何地方都找不到答案。有谁知道如何使用 cPanel API 列出电子邮件帐户?

编辑:我需要的函数是listpopswithdisk此处的文档),它列出了给定域下的电子邮件帐户,但不知道如何调用此函数。

小智 3

我认为任何人都可以通过使用这个普通的 php 脚本来获取他/她的网站 cPanel 电子邮件帐户。我正在将这个脚本用于我的个人工作,并且运行良好。

<?php
$domain = 'domain';
$username = 'username';
$quota = 'default_quota';
$mails = "/home/".$username."/.cpanel/email_accounts.yaml";
$mail_info = file_get_contents($mails);
$get_domain_mails = explode('account_count:',$mail_info);
foreach ($get_domain_mails as $accounts_email)
{
$acc = explode(' ',$accounts_email);
$m = $acc[1];
$clean = str_replace($m,"",$accounts_email);
$get_data = str_replace("accounts:","",$clean);

$exp_ag = explode("'",$get_data);
foreach ($exp_ag as $brk)
{
$ex = explode("diskquota",$brk);
foreach ($ex as $na)
{
$aex = explode('disk_mtime',$na);
$aarx = explode("diskused",$aex[0]);
foreach ($aarx as $tax)
{
$rexp = explode(":",$tax);
$reaexp = str_replace(" ","",$rexp[1]);
if ($reaexp!="")
{
$lex = explode($quota,$reaexp);
$naex = explode("\n",$lex[0]);
echo $naex[1]."\n";
}
}
}
}
}
?>
Run Code Online (Sandbox Code Playgroud)