Estoy usando la API XML para cpanel para crear cuentas de correo electrónico desde una página PHP.
Tengo un problema con la creación de un código que verá si la cuenta de correo electrónico se configuró correctamente o no.
Mi archivo PHP se ve así:
<? 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 ); ?>Si la cuenta de correo electrónico se crea correctamente, obtengo esta respuesta:
Objeto SimpleXMLElement ( [apiversion] => 2 [datos] => Objeto SimpleXMLElement ( [razón] => Objeto SimpleXMLElement ( ) [resultado] => 1 ) [evento] => Objeto SimpleXMLElement ( [resultado] => 1 ) [función ] => addpop [módulo] => Correo electrónico )
Si no me sale esto:
Objeto SimpleXMLElement ( [apiversion] => 2 [datos] => Objeto SimpleXMLElement ( [razón] => La contraseña que ingresó tiene una clasificación de seguridad de "23". No puede usarla porque es demasiado débil... [resultado ] => 0 ) [error] => La contraseña que ingresó tiene una calificación de seguridad de "23". No puede usarla porque es demasiado débil... [event] => Objeto SimpleXMLElement ( [resultado] => 1 ) [función] => addpop [módulo] => Correo electrónico )
Intenté usar este código pero no funcionó:
if ($result->result->status) { print "Creation of account worked successfully!"; } else { print "Creation Failed:" $result->result->statusmsg; }Agradecería ayuda y pronta respuesta, gracias.
Puede usar la respuesta de la siguiente manera: -
-- para generar una nueva dirección de correo electrónico
$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. }