Я использую XML API для cpanel для создания учетных записей электронной почты со страницы PHP.
У меня возникли проблемы с созданием кода, который будет видеть, была ли настроена учетная запись электронной почты успешно или нет.
Мой PHP-файл выглядит так:
<?
if(isset($_POST[token])) {
include("xmlapi.php"); //XMLAPI cpanel client class
$email = $_POST['email'];
$password = $_POST['password'];
$ip = "IP"; // should be server IP address or 127.0.0.1 if local server
$account = "USERNAME"; // cpanel user account name
$passwd ="PASSWORD"; // cpanel user password
$port =2083; // cpanel secure authentication port unsecure port# 2082
$email_domain ="DOMAIN";
$email_user ="$email";
$email_pass ="$password";
$email_quota = 500; // 0 is no quota, or set a number in mb
$xmlapi = new xmlapi($ip);
$xmlapi->set_port($port); //set port number.
$xmlapi->password_auth($account, $passwd);
$xmlapi->set_debug(1); //output to error file set to 1 to see error_log.
$call = array(domain=>$email_domain, email=>$email_user, password=>$email_pass, quota=>$email_quota);
$result = $xmlapi->api2_query($account, "Email", "addpop", $call );
?>
Если учетная запись электронной почты успешно создана, я получаю этот ответ:
SimpleXMLElement Object ([apiversion] => 2 [data] =>
SimpleXMLElement Object ([причина] => SimpleXMLElement Object ()
[результат] => 1) [событие] => объект SimpleXMLElement ([результат] => 1)
[func] => addpop [module] => Email)
Если нет, я получаю это:
SimpleXMLElement Object ([apiversion] => 2 [data] => SimpleXMLElement
Object ([причина] => пароль, который вы ввели, имеет силу
рейтинг «23». Вы не можете использовать его, потому что он слишком слабый … [результат] => 0) [error] => Введенный вами пароль имеет рейтинг надежности «23». Вы не можете использовать его, потому что он слишком слабый … [event] =>
SimpleXMLElement Object ([result] => 1) [func] => addpop [module] =>
Эл. адрес )
Я пытался использовать этот код, но не сработало:
if ($result->result->status) {
print "Creation of account worked successfully!";
}
else {
print "Creation Failed:" $result->result->statusmsg;
}
Буду признателен за помощь и быстрый ответ, спасибо.
Вы можете использовать ответ, как показано ниже: —
— создать новый адрес электронной почты
$api2args = array(
'domain' => $domain,
'email' => $email_to_create,
'password' => $password,
'quota' => '2048',
);
$result = $xmlapi->api2_query($username, 'Email', 'addpop',$api2args);
if(isset($result->error) && $result->error!=""){
// error handling will be here
}
else{
// success message can be render here.
}
Других решений пока нет …