проблема с созданием учетной записи электронной почты cpanel

Я пытаюсь создать учетную запись электронной почты с помощью скрипта без входа в cpanel. Вот скрипт, который я использую

http://www.zubrag.com/scripts/cpanel-create-email-account.php

Хостинг-провайдер bluehost

я получаю эту ошибку

Cannot create email account. Possible reasons: "fopen" function allowed on your server, PHP is running in SAFE mode

безопасный режим отключен в моем ini-файле.

Вот область учетных данных, которую использует скрипт

// cPanel info
$cpuser = 'example.com'; // cPanel username
$cppass = 'my_cpanel_pass'; // cPanel password
$cpdomain = 'example.com'; // cPanel domain or IP
$cpskin = 'x';  // I have tried x and also bluehost here

// Default email info for new email accounts
// These will only be used if not passed via URL
$epass = 'my_cpanel_pass'; // email password
$edomain = 'example.com'; // email domain (usually same as cPanel domain above)
$equota = 20; // amount of space in megabytes

Следующий код отправляет мне ошибки/предупреждения

$f = fopen ("http://$cpuser:$cppass@$cpdomain:2082/frontend/$cpskin/mail/doaddpop.html?email=$euser&domain=$edomain&password=$epass&quota=$equota", "r");
  if (!$f) {
    $msg = 'Cannot create email account. Possible reasons: "fopen" function allowed on your server, PHP is running in SAFE mode';
    break;
  }

Предупреждение, которое я получаю,

Warning: fopen(http://[email protected]:2082/frontend/x/mail/doaddpop.html?email=asif.k&domain=example.com&password=SmallAn123!&quota=20): failed to open stream: HTTP request failed! HTTP/1.1 401 Access Denied in E:\Web Softs\wamp\www\clnt5\cpemail.php on line 81

Если я распечатаю все данные между fopen(), я получу это

http://cpanel_user_name:[email protected]:2082/frontend/x/mail/doaddpop.html?email=asif.k&domain=mydomain.com&password=SmallAn123!&quota=20

Я много гуглил, чтобы исправить это. Буду очень признателен за любую помощь или альтернативный сценарий, который может помочь мне достичь этого.


person Muhammad Asif Raza    schedule 06.05.2016    source источник
comment
Не должен ли URL-адрес быть http://cpanel_user_name:[email protected]:2082/...   -  person Jamesking56    schedule 06.05.2016
comment
Извините моя ошибка. URL-адрес указан таким же образом, как вы указываете. но этот скрипт меня очень раздражал   -  person Muhammad Asif Raza    schedule 06.05.2016
comment
Я не думаю, что cPanel позволяет вам автоматизировать добавление почтовых учетных записей, я думаю, вам нужно использовать для этого WHM.   -  person Jamesking56    schedule 06.05.2016
comment
@ Jamesking56 Вы имеете в виду, что это тупик для этой задачи? разве это не может быть достигнуто с помощью таких скриптов, как этот codecanyon.net/item/cpanel- email-creator/168805   -  person Muhammad Asif Raza    schedule 06.05.2016


Ответы (1)


Если у вас есть имя пользователя и пароль cpanel, вам следует использовать cpanel API для создания учетных записей электронной почты и для гораздо большего количества функций, а не для этого запроса на получение.

        require_once 'xmlapi.php';
        $xmlapi = new \xmlapi($cpanel_domain);

        $xmlapi->password_auth($cpanel_username,$cpanel_password);

        $xmlapi->set_port('your domain port will be here');

        $api2args = array();                            
        $result = $xmlapi->api1_query($cpanel_password, 'CustInfo', 'getemail', $api2args);
         // until here you will get confirmation of your connected cpanel with cpanel api
         // then create cpanel as below
          $api2args = array(
            'domain'          => $domain, 
            'email'           => $email_address_to_create, 
            'password'        => $email_password,
            'quota'           => '2048',    // quota for email you want to set                          
            );
            $result = $xmlapi->api2_query($cpanel_username, 'Email', 'addpop', $api2args);

        if(isset($result->error) && $result->error!=""){                
            // error can be recorded here
        }
        else{
           // email account get created
        }
person jagjeet    schedule 01.05.2017