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

时间:2013-02-12 10:19:47

标签: php cpanel bluehost

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

现在我正在尝试使用以下代码执行相同操作,但没有成功。我可以登录CPanel,但无法创建电子邮件帐户。

$login = "https://my.bluehost.com/cgi/account/cpanel";
$time=time();
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $login);
curl_setopt($c, CURLOPT_COOKIEJAR, "cookies.txt");
curl_setopt($c, CURLOPT_COOKIEFILE, "cookies.txt");
curl_setopt($c, CURLOPT_POST, 1);
curl_setopt($c, CURLOPT_POSTFIELDS, "ldomain=$username&lpass=$password&l_redirect=/cgi-bin/cplogin&l_server_time=$time&l_expires_min=0");
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1);
$login_done1 = curl_exec($c);
print_r($login_done1);




   $email= "https://$cpanel:2083/frontend/bluehost/mail/doaddpop.html";
    curl_setopt($c, CURLOPT_URL, $email);s
    curl_setopt($c, CURLOPT_COOKIEJAR, "cookies.txt");
    curl_setopt($c, CURLOPT_COOKIEFILE, "cookies.txt");
    curl_setopt($c, CURLOPT_POST, 1);
    curl_setopt($c, CURLOPT_POSTFIELDS, "email=ddddd&domain=test.org&password=test@1617&password2=test@1617&quota=250&new_email_submit=Create");
    curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1);
    $login_done2 = curl_exec($c);
    print_r($login_done2);

任何帮助表示赞赏!!

4 个答案:

答案 0 :(得分:1)

我已就此问题处理了bluehost,主要问题是Bluehost帐户无法访问su。超级用户。因此,您无法从任何后门访问Cpanel,甚至不能访问自己的后门。如果网站所有者想要允许用户创建电子邮件帐户,那么这是一个很大的痛苦。

答案 1 :(得分:1)

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

$account_user将是登录Blue Host的默认用户名;它可能与$cp_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没有任何支持,我在设置电子邮件帐户时遇到了麻烦。

答案 2 :(得分:0)

已经提出的另一种方法是允许用户创建他们想要的电子邮件并将其存储到像mysql这样的数据库中。然后创建并设置一个cron作业,该作业将定期检查该数据库中的新电子邮件,并通过cron作业将电子邮件创建到cpanel中。在bluehost中创建电子邮件帐户实际上非常麻烦。 2个原因,1就像我之前提到的关于-su块的。但他们也提供了cpanel转售。所以它真的不是cpanel的完整许可证。因为cpanel本身确实具有创建电子邮件帐户和创建子域的功能。到目前为止,只有我发现提供真正的cpanel的是Hostgator和Godaddy,我更喜欢bluehost。几乎只有其他方式来创建电子邮件帐户是在实际的文件结构中创建它们。但是它可以通过所有加密和文件结构快速实现。

答案 3 :(得分:0)

您可以直接在chrooted环境中实现此目的(必须通过Bluehost / Hostmonster CPANEL启用SSH)。只需将127.0.0.1指定为$ cpanel,您就不需要使用https://my.bluehost ...着陆页进行任何先前的身份验证。它适用于共享主机以及专用主机。

虽然您需要通过GET进行身份验证:

    curl http://username:password@127.0.0.1:2082/frontend/bluehost/mail/doaddpop.html?blabla

这是一个有用的概述,您可以用您的语言进行翻译。请谷歌搜索doaddfwd.html dodelpop,dodelfwd等。 http://beto.euqueroserummacaco.com/blog/criando-contas-de-email-no-cpanel-com-curl/