#!/usr/bin/perl -w #Originally by Dan Stefan (spdATromanothanDOTro), at http://www.romanothan.ro/spd/ #Modified by Liron Newman (lironATnewmanDOTbz), at http://www.eesh.net/xmail-um.html use XMail::Ctrl; use Utils::xmailini; use CGI qw /:standard/; use Utils::spd qw(printerr printmsg); use CGI::Carp 'fatalsToBrowser'; $CGI::POST_MAX=1024 * 10; # max 10K posts $CGI::DISABLE_UPLOADS = 1; # no uploads my $redir_url = "/webmail/index.php"; my $redir_time = 3; my $xmail_admin = xmailini->xmail_admin; my $xmail_pass = xmailini->xmail_pass; my $xmail_port = xmailini->xmail_port; my $xmail_host = xmailini->xmail_host; my $domain = xmailini->domain; my $xmail = XMail::Ctrl->new( ctrlid => "$xmail_admin", ctrlpass => "$xmail_pass", port => "$xmail_port", host => "$xmail_host" ) or die $!; $username=param('username'); $oldpassword=param('oldpassword'); $newpassword=param('newpassword'); $newpassword1=param('newpassword1'); $errormsg=param('errormsg'); $xmailmsg = $xmail->userauth( { #Was: domain => "$domain", domain => substr("$username",index("$username","@")+1), #Was: username => "$username", username => substr("$username",0,index("$username","@")), password => "$oldpassword" }); #Was: if ($xmailmsg =~ "00000 OK"){ if ($xmailmsg == 1){ if ($newpassword eq $newpassword1){ $xmailmsg = $xmail->userpasswd( { #Was: domain => "$domain", domain => substr("$username",index("$username","@")+1), #Was: username => "$username", username => substr("$username",0,index("$username","@")), password => "$newpassword" }); #Was: printmsg($xmailmsg,$redir_url,$redir_time); if ($xmailmsg == 1){ printmsg("Success!",$redir_url,$redir_time) } else { printmsg($xmailmsg,$redir_url,$redir_time) } } else { printerr($errormsg,$redir_url,$redir_time) } } #Was: else { printerr($xmailmsg,$redir_url,$redir_time) } else { printerr($xmailmsg . "
" . $xmail->last_error->{description},$redir_url,$redir_time) }