Eh o seguinte:
Eu estou criando um sistema de webmail para minha universidade este sistema funcionara da seguinte forma:
Pagina de Cadastro (O usuario vai preencher um formulario com dados como: nome, cpf, nome de usuario (para o email, por ex: o usuario vai colocar so o username o @xxx.com eh inserido automatico), senha, confirmar senha, pergunta secreta e resposta secreta (para recuperar a senha). Bom esses dados vao para um banco de dados armazeno os seguintes dados vindo do formulario de cadastro: nome, cpf, email(ja formatado: usuario@xxx.com), senha, pergunta e resposta, o motivo de eu querer armazenar estes dados no banco de dados e porque o sistema de webmail vai ter uma pagina para o professor que ira enviar emails para os alunos ai os recipientes vao vir do banco de dados.
Ate ai tudo bem, ja criei o formulario de cadastro, ja criei a tabela no bd, e o formulario ja esta funcionando perfeitamente ja esta armazenando todos os dados que eu quero no banco de dados.
So que agora eu preciso criar realmente o email no cpanel, e isso tem que ser de forma automatica para isso eu desenvolvi um sisteminha simples em php que cria emails no cpanel este sistema funciona da seguinte forma:
Usuario desejado: input text /@dominio.com.br
Senha: input text
button submit
somente isso! o usuario digita o nome de usuario para o email desejado, cria a senha e clika no botao submit e ja automaticamente o sistema cadastra o nome de email solicitado no cpanel. O sistema ta funcionando perfeitamente tambem.
Agora chega no meu problema:
Eu preciso tipo agrupar estes dois sistemas em 1 por exemplo quero que ao preencher o formulario de cadastro e envia-lo quero que ja cadastre o email no cpanel, ou seja quero que o sistema de cadastro (que apenas insere os dados no bd) rode junto o sistema php que desenvolvi para criar o email no cpanel ai no caso o sistema iria pegar os valores no banco de dados (ja inseridos pelo form de cadastro) por exemplo ao inves de usar $_POST para pegar os valores dos inputs $email e $senha, quero que ele pegue o valor da string do formulario de cadastro por exemplo ele vai pegar o valor $email e o valor $senha do formulario de cadastro e com esses valores inserir no cpanel. Mas para pegar estes 2 valores (senha e email) eu quero que esse sistema php que cria as contas de email no cpanel faca uma busca no bd (dos usuarios cadastrados) e pegue esses 2 valores la atraves das strings $email e $senha que estao no formulario de cadastro e assim cadastrar o email que o usuario pretente criar.
Os sistemas estao funcionando corretamente mais estao funcionando individualmente, ai eu preciso de alguma forma agrupa-los para que o form de cadastro ja automaticamente crie o email no cpanel.
Codigo do formulario Cadastro.php
<?php require("config.php");//arquivo de config para acessar o phpmyadmin $acao = strip_tags( $_GET['acao'] ); ?> <p><span style="color:#F00">Atenção:</span> O cadastro aqui somente poderá ser efetuado por alunos IFMG, caso contrário sua conta será automaticamente excluída sem nenhum aviso prévio!</p> <br /> <?php if( empty( $acao ) ) { ?> <form action="cadastro.php?acao=add" class="formCadastro" name="formcadastre" id="formCadastro" onsubmit="return validateForm()" method="post"> <label>Nome</label> <div class="inputsCadastro"> <input name="nome" title="Preencha com seu Nome" type="text" class="validate[required,custom[onlyLetterSp]]" id="nome" value="" /> </div><br /> <label>CPF</label> <div class="inputsCadastro"> <input name="cpf" title="Preencha com seu CPF" type="text" id="cpf" class="validate[required]" value="" maxlength="11" /> </div><br /> <label>Login Desejado</label> <div class="inputNmail"> <input name="xmail" title="Digite o login desejado" type="text" id="nMail" class="validate[required,custom[nMail]]" value="" maxlength="50" /><div class="mailinfo">@adm.ifmg.br</div> </div><br /> <label>Senha</label> <div class="inputsCadastro"> <input name="senha" title="Informe uma Senha" type="password" class="validate[required,minSize[8],custom[onlyLetterNumber]]" id="password" value="" maxlength="20" /> </div><br /> <label>Confirme a Senha</label> <div class="inputsCadastro"> <input name="confirma_senha" title="Redigite a senha informada acima" type="password" class="validate[required,equals[password]]" id="password2" value="" maxlength="10" /> </div><br /> <p>Responda abaixo uma pergunta secreta que será solicitada para recuperação de senha</p><br /> <label>Pergunta Secreta</label> <!-- We are going to use jQuery to hide the select element and replace it --> <select name="pergunta" class="makeMeFancy" title="Escolha uma pergunta secreta para responder"> <!-- Notice the HTML5 data attributes --> <option value="" selected="selected" data-skip="1">Escolha uma Pergunta</option> <option value="1" data-html-text="Melhor amigo de infância?">Melhor amigo de infância?</option> <option value="2" data-html-text="Local onde nasceu?">Local onde nasceu?</option> <option value="3" data-html-text="Personagem histórico favorito?">Personagem histórico favorito?</option> <option value="4" data-html-text="Professor favorito?">Professor favorito?</option> </select> <br /> <label>Resposta</label> <div class="inputsCadastro"> <input name="resposta" title="Informe a Resposta para a pergunta escolhida" type="text" id="resposta" class="validate[required]" value="" /> </div><br /> <center><input class="inputCadastrar_off" title="Cadastrar" type="submit" value="Cadastrar" /></center> </form> <?php } // fim da ação EMPTY if( $acao == 'add') { extract( $_POST, EXTR_OVERWRITE); // extrai os dados do POST, transformando os indices em nomes. Sobrescreve as variaveis existentes, se houver ////Pegamos os valores do formulario $nome = $_POST['nome']; $cpf = $_POST['cpf']; $xmail = $_POST['xmail']; $senha = $_POST['senha']; $pergunta = $_POST['pergunta']; $resposta = $_POST['resposta']; ////Agrupamos o User + Endereco final do dominio $xmailUsr="$xmail"; $xmailEnd="@adm.ifmg.br"; $xmailCp="$xmailUsr"."$xmailEnd"; //Aqui validamos o cpf para nao duplicar $sql1 = mysql_query("SELECT id FROM usuarios WHERE cpf='$cpf'"); $vcpf = mysql_num_rows($sql1); if( !empty( $cpf ) && $vcpf > 0){ echo "<script language='javascript' type='text/javascript'> alert('Ops, este CPF já está registrado em nosso banco de dados! Tente outro CPF!'); window.location.href='javascript:history.go(-1)' </script>"; echo "<script language='javascript' type='text/javascript'> window.location.href='javascript:history.go(-1)' </script>"; exit; } //Aqui validamos o usuariomail para nao duplicar $sql1 = mysql_query("SELECT id FROM usuarios WHERE xmail='$xmailCp'"); $xmail = mysql_num_rows($sql1); if( !empty( $xmailCp ) && $xmail > 0){ echo "<script language='javascript' type='text/javascript'> alert('Ops, o nome de usuário $xmailCp já está em uso! Tente um outro nome de usuário!'); window.location.href='javascript:history.go(-1)' </script>"; echo "<script language='javascript' type='text/javascript'> window.location.href='javascript:history.go(-1)' </script>"; exit; } $data = date( "d/m/Y" ); $hora = date( "H:i:s" ); $sql = mysql_query("INSERT INTO usuarios (nome, cpf, xmail, senha, pergunta, resposta) VALUES ('$nome', '$cpf', '$xmailCp', '$senha', '$pergunta', '$resposta')") or print(mysql_error()); $ultimo_id = mysql_insert_id(); echo '<script language="javascript" type="text/javascript"> alert("Seu cadastro foi realizado com Sucesso! Clique em OK para se Logar."); window.location.href="login.php" </script>'; } ?>
Banco de dados usuarios.sql
-- phpMyAdmin SQL Dump -- version 3.4.9 -- http://www.phpmyadmin.net -- -- Host: localhost -- Generation Time: Mar 27, 2012 at 09:33 PM -- Server version: 5.0.95 -- PHP Version: 5.2.9 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; -- -- Database: `ovdscomb_ifmg` -- -- -------------------------------------------------------- -- -- Table structure for table `usuarios` -- CREATE TABLE IF NOT EXISTS `usuarios` ( `id` int(20) NOT NULL auto_increment, `nome` varchar(100) character set utf8 default NULL, `cpf` varchar(100) character set utf8 default NULL, `xmail` varchar(100) character set utf8 default NULL, `senha` varchar(100) character set utf8 default NULL, `pergunta` varchar(100) character set utf8 default NULL, `resposta` varchar(100) character set utf8 default NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=27 ; -- -- Dumping data for table `usuarios` -- INSERT INTO `usuarios` (`id`, `nome`, `cpf`, `xmail`, `senha`, `pergunta`, `resposta`) VALUES (23, 'Vinicius', '090.900.000-00', 'unmeanings@adm.ifmg.br', 'qwerty123', '2', 'nao sei'), (24, 'Teste', '433.333.333-33', 'vamostestar@adm.ifmg.br', '1q2w3e4r', '1', 'sa'), (25, 'Okay', '121.111.111-11', 'tudookagr@adm.ifmg.br', 'qwerty231', '1', 'sassa'), (26, 'wer', '325.544.445-55', 'qwertyu@adm.ifmg.br', '13090909', '1', 'adsd'); /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Sistema que cria o email automatico no cpanel
<?php $cpmod = 'x3'; // Tema de seu CPANEL $host = 'site.com.br'; // Digite seu host $port = '2082'; // Porta do CPANEL $port_mail = '2095'; // Porta do EMAIL $ownername = "usuario"; // Usuário CPANEL $reseller_pass = "senha"; // Senha CPANEL $domain = "$host"; // ========================================================= // DADOS POSTADOS POR FORMULÁRIO //----------------------------------------------------------------- $email = $_POST[email]; $password = $_POST[pass]; $quota = $_POST[quota]; if ($_POST[email]) { $request = "/frontend/$cpmod/mail/doaddpop.html?email=$email&domain=$domain&password=$password"a=$quota"; $result = cprq($host,$port,$ownername,$reseller_pass,$request); $show = strip_tags($result); if (strpos($show, "already") !== false && strpos($show, "exists") !== false) { echo "Esta conta já existe!"; } else { echo"Conta criada com sucesso!"; } } function cprq($host,$port,$ownername,$reseller_pass,$request) { $sock = @fsockopen($host,$port); if(!$sock) { print('Erro de conexão com soquete'); exit(); } $authstr = "$ownername:$reseller_pass"; $pass = base64_encode($authstr); $in = "GET $request\r\n"; $in .= "HTTP/1.0\r\n"; $in .= "Host:$domain\r\n"; $in .= "Authorization: Basic $pass\r\n"; $in .= "\r\n"; fputs($sock, $in); while (!feof($sock)) { $result .= fgets ($sock,128); } fclose( $sock ); return $result; } ?> <style type="text/css"> <!-- .style1 { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; } .style2 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; font-weight: bold; } --> </style> <form id="form1" name="form1" method="post" action=""> <table width="100%" border="0" cellspacing="10" cellpadding="0"> <tr> <td width="30%" class="style1"> <div align="right"><b> <span class="style1">Conta:</span> <input name="email" type="text" id="email" /> </b></div> </td> <td width="70%" class="style2">@ <select name="select"> <option value="<?php echo $host; ?>"><?php echo $host; ?></option> </select> </td> </tr> <tr> <td class="style1"> <div align="right" class="style2">Senha:</div> </td> <td class="style1"> <input name="pass" type="text" id="pass" /> </td> </tr> <tr> <td class="style1"> <div align="right"><b>Cota:</b></div> </td> <td class="style1"> <input name="quota" type="text" id="quota" size="5" /> Megas ( vazio para ilimitado ) </td> </tr> <tr> <td class="style1"> </td> <td class="style1"> <input name="Submit" type="submit" class="style1" value="Submeter" /> </td> </tr> </table> </form>
Nao sei se entendeream mais se nao tiver entendido responda com uma pergunta perguntando o que nao entendeu pq ai tento esplicar melhor...
Espero que possam me ajudar