Я пытаюсь создать учетную запись электронной почты с помощью сценария без входа в 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"a=$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!"a=20
Я много гуглил, чтобы это исправить. Буду очень признателен за любую помощь или альтернативный сценарий, который может помочь мне достичь этого.
Если у вас есть имя пользователя и пароль cpanel, вам следует использовать API cpanel для создания учетных записей электронной почты и для гораздо большего количества функций, а не для получения запроса.
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
}
Других решений пока нет …