Creación automática de emails para cPanel con PHP
Nov 13 2006 | 02:59 PHP, cPanelMientras cambiaba el sitio de uno de mis clientes a mi nuevo servidor me vi en la necesidad de crear decenas de emails a través de cPanel. Esta es una tarea tediosa y muy tardada porque crear un solo email en el cPanel implica insertar y enviar los datos, esperar el mensaje de confirmación de cPanel, regresar al formulario y continuar.
La forma fácil de hacerlo todo rápidamente es con un script que se autentique y envÃe los datos a cPanel para cada uno de los emails en una sola transacción.
Intenté haciendo peticiones XMLHTTP con JavaScript (AJAX) pero no funcionó, asà que probé con PHP y fopen() basándome en un script que usé hace mucho tiempo (no tengo la URL ni recuerdo el nombre).
-
<?php
-
// Configuración del script //
-
// emails a crear
-
'dominio.com, ventas, password4355, 3',
-
'otro.com.mx, contacto, clave98999, 5');
-
-
$cpanel['user'] = 'skippy78'; // Usuario cPanel
-
$cpanel['pass'] = 'dest567p'; // Password cPanel
-
$cpanel['domain'] = 'dominio.com'; // Dominio o IP cPanel
-
$cpanel['skin'] = 'x'; // Skin de cPanel, normalmente x o rvblue
-
// fin configuración //
-
function create_email($edomain, $euser, $epass, $equota){
-
global $cpanel;
-
$cpanel['domain'].':2082/frontend/'.
-
$cpanel['skin'].'/mail/doaddpop.html?email='.
-
$euser.'&domain='.$edomain.'&password='.$epass.
-
'"a='.$equota, 'r');
-
if(!$f){
-
echo 'No se pudo crear el email (falló fopen).<br>';
-
return false;
-
}
-
echo 'El email ya existe<br>';
-
return false;
-
}
-
}
-
return true;
-
}
-
// Se recorre el array de información de emails y se ejecuta la función.
-
foreach($mails as $mail){
-
if(create_email($mail_info[0], $mail_info[1], $mail_info[2], $mail_info[3])){
-
' (password: '.$mail_info[2].', cuota:'.$mail_info[3].') creado.<br>';
-
}
-
}
-
?>
Puedes descargar el archivo si asà lo deseas (clic derecho, 'guardar enlace como').
Espero que esto ayude a alguien
