Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

chukye

[Resolvido] Criação de caixa de e-mail pop3 CPANEL

Recommended Posts

Bom dia, tinha um script que funcionava perfeitamente na versão antiga do CPANEL.

Ele acessava o painel e criava uma caixa de e-mail pop3 com os dados que eu passava

Ai o servidor que uso atualizou o CPANEL para uma versão mais recente (11.25) e agora não funciona mais essa função

Como não fui eu que criei ela, eu achei ela e implementei no site não sei muito bem arrumar isso e nem se essa nova versão do CPANEL bloqueou esse acesso externo.

A função que usava é essa:

 

function pop3create($email,$senha,$quota) {
  
   $host = "localhost";
  
   $logincpanel="login";
  
   $senhacpanel="senha";


   $socket = fsockopen($host,2082);
   socket_set_timeout($socket,30);

   $authstr = "$logincpanel:$senhacpanel";
   $pass = base64_encode($authstr);
   $in = "GET / HTTP/1.0\r\nAuthorization: Basic $pass \r\n\r\n";

   fputs($socket,$in);
   $resposta=array();
   while (!feof($socket)) {
           $resposta[] = htmlspecialchars(fgets($socket, 128));
   }
   fclose( $socket );
  
   $checa = strpos($resposta[6],"The Document has moved here");
   if ($checa != false) {
           $redir = trim(str_replace("Location: ","",$resposta[3]));
           $redir = str_replace(substr($redir,-10),"mail/doaddpop.html",$redir);
           $socket = fsockopen($host,2082);
           socket_set_timeout($socket,30);
          
           $split = split("@",$email);
           $loginemail = $split[0];
           $dominioemail = $split[1];

           $in = "GET $redir?email=$loginemail&domain=$dominioemail&password=$senha a=$quota HTTP/1.0\r nAuthorization: Basic $pass \r\n\r\n";

           fputs($socket,$in);
           while (!feof($socket)) {
                   $resto .= htmlspecialchars(fgets($socket, 128));
           }
           fclose( $socket );
          
           $parametro = $loginemail."+".$dominioemail;
           $checa = strpos($resto,$parametro);
           if ($checa != false) {
                   return 1;
           }
           else {
                   return 2;
           }
   }
   else {
       return 'dead';
   }
}

Alguém sabe um jeito de arrumar essa função ou tem um script para criar e-mail pop3 nessa versão do CPANEL?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Problema resolvido!

Segue novo script caso alguém preciso

 

<?php
function pop3create($email,$senha,$quota,$loginCpanel='LOGIN-CPANEL',$passwordCpanel='SENHA-CPANEL',$domainCpanel='DOMINIO-CPANEL',$themeCpanel='TEMA-CPANEL') {
	
	$username = $loginCpanel;
	$password = $passwordCpanel;

	$domain = $domainCpanel;
	$theme = $themeCpanel;

	
	// URL para acessar por curl {
		$postfields = 'email='.$email.'&domain='.$domain.'&password='.$senha.'&quota='.$quota;
		$url = 'http://'.$username.':'.$password.'@'.$domain.':2082/frontend/'.$theme.'/mail/doaddpop.html?'.$postfields;
	// }
	
	// Criação da conta {
		$popPost = curl_init ();
		curl_setopt ( $popPost , CURLOPT_URL , $url );
		curl_setopt ( $popPost , CURLOPT_POST , 1 );
		curl_setopt ( $popPost , CURLOPT_RETURNTRANSFER , 1 );
		curl_setopt ( $popPost , CURLOPT_TIMEOUT , 15 );
		$popPost_result = curl_exec ( $popPost );
		curl_close ( $popPost );
 	// }
 	
 	// Tratamento da mensagem de retorno {
		$start = strpos ( $popPost_result , '<b>Account' );
		$end = strpos ( $popPost_result , 'created.' );
		$subset = substr ( $popPost_result , $start , $end + 8 - $start );
		$subset = str_replace ( 'login ' , "login<br>" , $subset );
	// }
	
	// Resposta {
		if ( preg_match ( '/Sorry/i' , "$subset" )) {
			print "Essa conta já existe!" ;
		} elseif( preg_match ( '/You must specify/i' , "$subset" )) {
			print "Especifique uma senha!" ;
		} else {
			return 1; // Ok, conta criada com sucesso!
		} 
	// }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Chukye!

 

Dei uma olha na sua função e fiz algumas coisas para somar com ela se quiser dá uma olhada clicando aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.