Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用Bluehost CPanel中的脚本创建电子邮件帐户_Php_Cpanel_Bluehost - Fatal编程技术网

Php 使用Bluehost CPanel中的脚本创建电子邮件帐户

Php 使用Bluehost CPanel中的脚本创建电子邮件帐户,php,cpanel,bluehost,Php,Cpanel,Bluehost,我正在尝试使用php脚本在bluehost cpanel中创建电子邮件帐户。 我为此尝试了XMLAPI,但它给出了“拒绝访问”错误 现在,我正试图使用下面的代码做同样的事情,但没有成功。我可以登录到CPanel,但无法创建电子邮件帐户 谢谢你的帮助 关于这个问题,我已经和bluehost打过交道,主要问题是bluehost帐户不允许访问su。超级用户。所以你不能从任何后门访问Cpanel,即使是你自己的。如果网站所有者希望允许用户创建电子邮件帐户,这是一个很大的难题。另一种方法是允许用户创建他

我正在尝试使用php脚本在bluehost cpanel中创建电子邮件帐户。 我为此尝试了XMLAPI,但它给出了“拒绝访问”错误

现在,我正试图使用下面的代码做同样的事情,但没有成功。我可以登录到CPanel,但无法创建电子邮件帐户


谢谢你的帮助

关于这个问题,我已经和bluehost打过交道,主要问题是bluehost帐户不允许访问su。超级用户。所以你不能从任何后门访问Cpanel,即使是你自己的。如果网站所有者希望允许用户创建电子邮件帐户,这是一个很大的难题。

另一种方法是允许用户创建他们想要的电子邮件并将其存储到mysql之类的数据库中。然后创建并设置一个cron作业,该作业将定期检查该数据库中的新电子邮件,并通过cron作业将电子邮件创建到cpanel中。在bluehost中创建电子邮件帐户实际上相当麻烦。2个原因,1就像我之前提到的-su块。但他们也提供了一个cpanel转售。所以它不是cpanel的完全许可证。因为cpanel本身有创建电子邮件帐户的功能,包括创建子域。到目前为止,我发现唯一能提供真正cpanel的是Hostgator和Godaddy,不过我更喜欢bluehost。创建电子邮件帐户的唯一其他方法是在实际的文件结构中创建它们。但所有的加密和文件结构都会让它很快崩溃。

我找到了一种方法来处理BlueHost中的cpanel并创建一个电子邮件帐户

$account\u user
将是登录蓝色主机的默认用户名;它可能与
$cp\u user
相同,但它绝对不允许它是root

 private function createEmail($email, $password) {
    $cp_user = "USERNAME";
    $cp_pwd = "PASSWORD";
    $domain = "yourdomain.com"
    $quota = "500" // This is in Megabytes. 0 Would be unrestricted email box size.
    $account_user = "username"
    $url = "DOMAIN N OR IP :2087 //Your Port";
    $php = "/json-api/cpanel?cpanel_jsonapi_user=".$account_user."&cpanel_jsonapi_version=2&cpanel_jsonapi_module=Email&cpanel_jsonapi_func=addpop&email=" . $email . "&password=" . $password . "&quota=".$quota."&domain=".$domain;
    $string1 = "https://" . $cp_user . ":" . $cp_pwd . "@" . $url . $php;
    $blueHost = fopen($string1, "r");
    fclose($blueHost);
    return $blueHost;
}

在登录Bluehost.com后,在创建电子邮件用户时,只是进行了一些尝试和错误,并检查了JSON API调用。希望这对某些人有所帮助,因为Blue Host没有任何支持,我在设置电子邮件帐户时遇到了麻烦。

您可以直接在chrooted环境中实现这一点(SSH必须通过Bluehost/Hostmonster CPANEL启用)。只需将127.0.0.1指定为$cpanel,您就不需要使用任何以前的身份验证。。。登录页。它与共享人质和专用人质一起工作

尽管您需要通过GET进行身份验证:

    curl http://username:password@127.0.0.1:2082/frontend/bluehost/mail/doaddpop.html?blabla
这里有一个有用的概述,你可以用你的语言翻译。请用谷歌搜索doaddfwd.html dodelpop、dodelfwd等。

谢谢您的回答。正如您所解释的,我认为Cron作业是完成此任务的唯一方法。你能提供cron作业文件的代码或任何关于此的提示吗?实际上存在一个解决方案,并且该解决方案受Indeed支持。如果有必要的话,我想将im添加到专用服务器上。
    curl http://username:password@127.0.0.1:2082/frontend/bluehost/mail/doaddpop.html?blabla