Nova Conta de Email - cPanel (serviço de email)
Script para criação de nova conta de email em hosts gerenciados pelo Cpanel. Não é necessário logar no Cpanel para criação.
Ideal pra opção de criação de emails no site.
Ideal pra opção de criação de emails no site.
Data | Autor | Changelog | Download |
---|---|---|---|
21/12/2005 7:17pm | Luiz Tarabal | - | Versão 2005 |
Prezados Senhores, não sei mais como arrumar... Sempre que tento utilizar esse script para criação de nova conta de e-mail sem precisar logar-se no cpanel aparece dizendo que a conta ja existe... e que na realidade não existe e nem cria uma nova conta..
Olhe o código...
<?php
/*
Código reestruturado por: Daniel William Schultz
Email: hospedavip@hospedavip.com
Este código foi construido sem nenhuma reutilização de código alheio
Fique livre pra mudar este programa, redistribuir de graça, vender...
Só peço que não roube os creditos, ok?;)
Liberado sob a licença FBPMV (Faça Bom Proveito e Modifique à Vontade)
*/
function pop3create($email,$senha,$quota) {
/*
deixarei o host por padrão em localhost
Se quiser, mudar, pode botar o ip da sua maquina, o endereço do seu dominio, etc.
e coloque o login e senha do seu cpanel...
*/
$host = "localhost";
$logincpanel="construh";
$senhacpanel="**********";
/*
abrindo conexão ao webmail.
*/
$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) {
//diferente de falso, logou ok
$redir = trim(str_replace("Location: ","",$resposta[3]));
$redir = str_replace(substr($redir,-10),"mailcentral/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";
// $in = "GET $redir?email=$email&domain=$domain&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 {
//a conta desejada já existe.
return 2;
}
}
else {
//logou errado...erro de login e senha no cpanel ?
echo "ERRO DE LOGIN NO CPANEL. CORRIJA O HOST OU O LOGIN E SENHA";
}
}
/*
EXEMPLO DE USO
Você pode inserir esta função no seu arquivo, criar um arquivo só para ela e dar include... Divirta-se
RETORNO IGUAL A 1 == CONTA CRIADA COM SUCESSO
RETORNO IGUAL A 2 == CONTA JÁ EXISTENTE
*/
$criaconta = pop3create("$loginemail@$dominioemail","$senha","$quota");
if ($criaconta == 1) {
echo "CONTA CRIADA COM SUCESSO...";
}
if ($criaconta == 2) {
echo "CONTA JÁ EXISTENTE;(";
}
?>
e no formulario uso este...
<form method=post action="./novaconta.php">
<FONT FACE="Arial"><table><tr><td>Email: </td><td>
<input name="email" type="text" id="email" size="30" maxlength="50"><select name="domain" size="1" id="domain">
<option value="@construhome.com.br">@construhome.com.br</option></select></td></tr><tr><td>Senha: </td><td><input name="senha" type="password" id="senha" size="30" maxlength="30"></td></tr><tr><td>Repetir Senha: </td><td><input type="password" name="senhateste" size="30" maxlength="30"></tr></td><tr><td></td><td><button name="Enviar" value="Enviar" type="submit">Enviar</button> <button name="Limpar" value="Limpar" type="reset">Limpar</button></td></tr></table></FONT></form>
.... por favor... onde esta o erro???
Obs... não precisava no código falar qual skin uso no cpanel tbm???
Olhe o código...
<?php
/*
Código reestruturado por: Daniel William Schultz
Email: hospedavip@hospedavip.com
Este código foi construido sem nenhuma reutilização de código alheio
Fique livre pra mudar este programa, redistribuir de graça, vender...
Só peço que não roube os creditos, ok?;)
Liberado sob a licença FBPMV (Faça Bom Proveito e Modifique à Vontade)
*/
function pop3create($email,$senha,$quota) {
/*
deixarei o host por padrão em localhost
Se quiser, mudar, pode botar o ip da sua maquina, o endereço do seu dominio, etc.
e coloque o login e senha do seu cpanel...
*/
$host = "localhost";
$logincpanel="construh";
$senhacpanel="**********";
/*
abrindo conexão ao webmail.
*/
$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) {
//diferente de falso, logou ok
$redir = trim(str_replace("Location: ","",$resposta[3]));
$redir = str_replace(substr($redir,-10),"mailcentral/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";
// $in = "GET $redir?email=$email&domain=$domain&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 {
//a conta desejada já existe.
return 2;
}
}
else {
//logou errado...erro de login e senha no cpanel ?
echo "ERRO DE LOGIN NO CPANEL. CORRIJA O HOST OU O LOGIN E SENHA";
}
}
/*
EXEMPLO DE USO
Você pode inserir esta função no seu arquivo, criar um arquivo só para ela e dar include... Divirta-se
RETORNO IGUAL A 1 == CONTA CRIADA COM SUCESSO
RETORNO IGUAL A 2 == CONTA JÁ EXISTENTE
*/
$criaconta = pop3create("$loginemail@$dominioemail","$senha","$quota");
if ($criaconta == 1) {
echo "CONTA CRIADA COM SUCESSO...";
}
if ($criaconta == 2) {
echo "CONTA JÁ EXISTENTE;(";
}
?>
e no formulario uso este...
<form method=post action="./novaconta.php">
<FONT FACE="Arial"><table><tr><td>Email: </td><td>
<input name="email" type="text" id="email" size="30" maxlength="50"><select name="domain" size="1" id="domain">
<option value="@construhome.com.br">@construhome.com.br</option></select></td></tr><tr><td>Senha: </td><td><input name="senha" type="password" id="senha" size="30" maxlength="30"></td></tr><tr><td>Repetir Senha: </td><td><input type="password" name="senhateste" size="30" maxlength="30"></tr></td><tr><td></td><td><button name="Enviar" value="Enviar" type="submit">Enviar</button> <button name="Limpar" value="Limpar" type="reset">Limpar</button></td></tr></table></FONT></form>
.... por favor... onde esta o erro???
Obs... não precisava no código falar qual skin uso no cpanel tbm???
28/09/2009 5:27pm
(~15 anos atrás)
É possível fazer algo parecido mas não para criar e sim remover o que já foi criado?
05/10/2007 11:16am
(~17 anos atrás)
o problema do script é o seguinte:
$redir = str_replace(substr($redir,-10),"mail/doaddpop.html",$redir);
na linha acima onde esta o "mail" seria de acordo com o seu tema do cpanel, cada tema pode ter um caminho diferente para as aplicações, no meu caso por exemplo solucionei com a seguinte linha:
$redir = str_replace(substr($redir,-10),"mailcentral/doaddpop.html",$redir);
"mailcentral" é usuado no tema XP, então se houver algum problema com o script logue no cPanel e vá até a parte de criação de contas de email e observe o endereço:
http://www.seudominio.com:2082/frontend/x/mail/addpop2.html
esse pode ser o padrão, para resolver o problema é só pegar o que está a frente do /fronted/, que seria o "x" e trocar na linha do script em que citei, qualquer dúvida pode mandar email :P
é uma possível solução para o problema ;D
$redir = str_replace(substr($redir,-10),"mail/doaddpop.html",$redir);
na linha acima onde esta o "mail" seria de acordo com o seu tema do cpanel, cada tema pode ter um caminho diferente para as aplicações, no meu caso por exemplo solucionei com a seguinte linha:
$redir = str_replace(substr($redir,-10),"mailcentral/doaddpop.html",$redir);
"mailcentral" é usuado no tema XP, então se houver algum problema com o script logue no cPanel e vá até a parte de criação de contas de email e observe o endereço:
http://www.seudominio.com:2082/frontend/x/mail/addpop2.html
esse pode ser o padrão, para resolver o problema é só pegar o que está a frente do /fronted/, que seria o "x" e trocar na linha do script em que citei, qualquer dúvida pode mandar email :P
é uma possível solução para o problema ;D
23/04/2007 7:01pm
(~17 anos atrás)
tu deve estar com o mesmo problema q eu s sua host n tiver suporte PHP5 sempre el vai dizer q a conta já existe ou então alguém q saiba mudar pra PHP4 :( o meu parou buaaaaaaaaaaaaaaaaaaaaa http://www.festlojas.com/area.php?area=email
28/02/2007 7:18pm
(~18 anos atrás)
PAROU de funcionar no meu site pq o script é php5 e minha nova host n tem suporte php5 toda conta q vai criar diz q ja existe :(
http://www.festlojas.com Versão 2005 é a q eu tenho :S
http://www.festlojas.com Versão 2005 é a q eu tenho :S
05/02/2007 9:00am
(~18 anos atrás)
Teria uma maneira de o usuário alterar a senha depois de criar a conta?
03/02/2007 5:27am
(~18 anos atrás)
Olá... queria saber pq ele cria a conta mas não apararece no CPANEL. para aonde vai a conta pq tento criar a mesma e fala q a conta já existe..
10/09/2006 12:59pm
(~18 anos atrás)
Agora o script envia login e senha para os usuarios que cadastrão. mais criatividade vai alem do que eu viz.
12/08/2006 6:22pm
(~18 anos atrás)
[]
Erro ao Logar no CPANEL. Favor contate o Administrador do Sistema
[/]