Current time: 11-26-2024, 09:20 AM Hello There, Guest! (LoginRegister)


Post Reply 
[Resuelto] Cambiar contraseña de cuentas de correo
Author Message
parmando Offline
Junior Member
*

Posts: 10
Joined: Sep 2009
Reputation: 0
Post: #1
[Resuelto] Cambiar contraseña de cuentas de correo
Hola, mi problema es que necesito que cada usuario pueda cambiar las contraseñas de las cuentas de correo desde su Webmail, que en este caso es squirelmail por supuesto. He visto algunos otros post aqui, y los he probado pero sin exito.

Hay algo que venga integrado o alguna solucion que me puedan recomendar?

Creo que esto deberia ser parte de ispCP desde un principio si no molesta la opinion.

Desde ya muchas gracias.
(This post was last modified: 05-21-2010 05:11 PM by kurgans.)
05-17-2010 08:59 AM
Find all posts by this user Quote this message in a reply
kurgans Offline
Moderator
*****
Moderators

Posts: 1,565
Joined: Feb 2008
Reputation: 23
Post: #2
RE: Cambiar contraseña de cuentas de correo
Los howto de squire que saco shiizpa funcionan perfectamente ya que yo los he probado.
Y el que hay de roundcube tambien funciona sin problemas,

Algo no no has echo bien, revisa bien los pasos.

De que lo lleve ispcp incorporado yo discrepo algo y es mi opinion, ya que el panel ofrece acceso de cliente el que necesite cambiar su pass de correo que se lo comunique a la persona responsable de su empresa que tenga los datos de acceso al panel.
(This post was last modified: 05-17-2010 04:32 PM by kurgans.)
05-17-2010 04:16 PM
Visit this user's website Find all posts by this user Quote this message in a reply
parmando Offline
Junior Member
*

Posts: 10
Joined: Sep 2009
Reputation: 0
Post: #3
RE: Cambiar contraseña de cuentas de correo
Hola, perdon por la demora, estaba con u implementacion y como siempre en esas epocas, sin tiempo.

Yo me base de entrada en esto:
http://isp-control.net/documentation/fre...ia_webmail

y me tiraba un error como que no encontraba alguna clase de ADODB (requiere bajarse un paquete de sourcefoge de adodb). Sinceramente me fue mas facil reemplazar las funciones por las tipicas de PHP (mysql_connect, etc.) que buscarle la solucion. Es un muy buen trabajo el de shiizpa y me sirvió para que con solo modificaciones menores y el cambio de funciones de PHP trabaje muy bien.

Asi me quedo el codigo sin dependencias de adodb:

adodb.inc.php:
---- CORTAR AQUI ----
<?php
define('host','localhost');
define('user','root'); //enter user access to table ISPC
define('pass','aeiouaeiou'); //enter your password
define('database','ispcp');
$conn = mysql_connect(host, user, pass, database);
mysql_select_db(database, $conn);
?>
--------------------------------

change_password.php:
---- CORTAR AQUI ----
<?php
require_once '../../include/ispcp-lib.php';
require '../../include/adodb.inc.php'
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Cambiar contrase&ntilde;a del e-mail</title>
<meta name="robots" content="noindex,nofollow">
<link rel="stylesheet" type="text/css" href="/webmail/themes/css/omega.css">
<style type="text/css">
<!--
body, td, input, select, textarea {
font-family:Tahoma, Geneva, sans-serif;
font-size:9px;
}
input, textarea, select {
border:#7f9db9 1px solid;
padding:0px;
}
-->
</style>
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#000000" vlink="#000000" alink="#000000">
<form action="" method="post" name="login_form">
<div id="container">
<h1>Cambiar contrase&ntilde;a del e-mail</h1>
<fieldset class="login">
<p class="login">
<table cellpadding="0" cellspacing="0" style="color:#CCC">
<tr>
<td align="left">&nbsp;<strong>E-mail:</strong></td>
<td><input type="text" name="user" style="width:130px;"/></td>
</tr>
<tr>
<td align="left">&nbsp;<strong>Password:</strong></td>
<td><input type="password" name="contrasena" style="width:130px;"/></td>
</tr>
<tr>
<td align="left">&nbsp;<strong>Nueva:</strong></td>
<td><input name="ncontrasena" type="password" style="width:130px;" maxlength="15"/></td>
</tr>
<tr>
<td align="left">&nbsp;<strong>Repetir nueva:</strong></td>
<td><input type="password" name="rcontrasena" style="width:130px;" maxlength="15"/></td>
</tr>
<tr>
<td colspan="2" align="left"><a href="/webmail">Ir al Webmail</a></td>
</tr>
<tr>
<td align="left"></td>
<td><input type="submit" name="cambiar" value="Change" /></td>
</tr>
</table>
</p>
</fieldset>
</div>
</form>
<?php
if(isset($_POST['cambiar'])=='Change'&&!empty($_POST['user'])&&!empty($_POST['contrasena'])&&!empty($_POST['ncontrasena'])&&!empty($_POST['rcontrasena']))
{
if( isset($_POST['user']) )
$Usuario= mysql_real_escape_string ($_POST['user']);

if( isset($_POST['contrasena']) )
$Contrasena=encrypt_db_password($_POST['contrasena']);
// echo $Contrasena;

$sql = "SELECT mail_id FROM mail_users WHERE mail_addr='$Usuario' and mail_pass='$Contrasena'";
$ret = mysql_query( $sql, $conn );
if( $ret === FALSE)
echo mysql_error();

$UsuarioExiste = mysql_num_rows( $ret );

if( $UsuarioExiste == 1 )
{
if($_POST['ncontrasena']!=$_POST['rcontrasena'])
echo '<p align="center" style="color:#F00">Las nuevas contrase&ntilde;as no coinciden.</p>';
elseif($_POST['ncontrasena']==$_POST['contrasena'])
echo '<p align="center" style="color:#F00">La nueva password es igual a la actual.</p>';
elseif(empty($_POST['ncontrasena']))
echo '<p align="center" style="color:#F00">Su nueva password no puede esta vacia.</p>';
elseif(strlen($_POST['ncontrasena']) < 6)
echo '<p align="center" style="color:#F00">Su nueva password es muy corta. Debe tener 6 caracteres como minimo.</p>';
elseif(strlen($_POST['ncontrasena']) > 15)
echo '<p align="center" style="color:#F00">Su nueva password es muy larga. No debe ser mas larga que 15 caracteres.</p>';
else
{
$row = mysql_fetch_assoc($ret);
$id = $row['mail_id'];
// echo "ID: $id";
$pass = encrypt_db_password($_POST['ncontrasena']);
// echo "Nueva pass: $pass";
$status = 'change';
$sql = "UPDATE mail_users SET mail_pass='$pass', status='$status' WHERE mail_id=$id ";
mysql_query( $sql, $conn );
//echo "Se produjo el error: " . mysql_error();

echo '<p align="center" style="color:#060">Contrase&ntilde;a cambiada correctamente.</p>';
send_request();
}
}
else echo '<p align="center" style="color:#F00">Atencion! Los datos ingresados no son correctos.</p>';
}
elseif(isset($_POST['cambiar'])=='Change')
{
echo '<p align="center" style="color:#F00">Complete los datos que faltan.</p>';
}
?>
</body>
</html>

-----------------------


En cuanto a incorporar el cambio de contraseña a ispcp, yo lo veo no desde el punto de vista de un Administrador de Sistemas sino de un administrador de ISP que le quiere dar un poco de flexibilidad a los usuarios, es decir, cada uno deberia poder cambiar su contrase;a sin llamar al ISP para solicitarle esto (y pasarle la password).
05-20-2010 01:09 AM
Find all posts by this user Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)