Formulário de cadastro com confirmação (Double Opt-in) em PHP

Em outro artigo falei o que é Double Opt-in e porque usar, em outro dou um exemplo dos riscos quando não se usa e neste estou disponibilizando um script completo para que você possa implementar em seu site um formulário de cadastro com confirmação.

Desta forma terá somente e-mails válidos e de pessoas que realmente tem interesse em seu conteúdo, pois só terá e-mails de contatos que confirmaram o cadastro.

O funcionamento é o seguinte:

O contato preenche o formulário com nome e e-mail, dá OK, ele recebe um e-mail com um link para confirmação, depois de confirmado você recebe o e-mail com os dados do contato que confirmou. Simples assim.

Clique aqui para baixar os arquivos

No arquivo terá a classe PHPMailer que é necessária para fazer o envio dos dados por e-mail. Sem ela não irá funcionar.

Seu servidor também precisa dar suporte a PHP. Isso é o básico, ok?

Configuração:

Você precisa alterar alguns campos nos arquivos, formulario.html, enviaConfirmacao.php e cadastroConfirmado.php. Os dados que precisam ser alterados tem uma observação na frente de cada um, ok? Também segue um arquivo chamado configuracao.txt descrevendo as informações que precisa alterar.

Quer ver funcionando?

Se quiser fazer um teste, clique aqui e veja funcionando.

Se tiver dúvidas, deixe seu comentário que eu respondo.

Abraços e até a próxima.

Avalie este artigo:
Formulário de cadastro com confirmação (Double Opt-in) em PHP
3.5 (70%) 6 votos
ATUALIZAÇÕES GRÁTIS
Faça como os 12,610 leitores. Cadastre-se grátis!

Gostou? Compartilhe:

Ademir Diniz

Analista de Sistemas formado pelo ISES, especialista em E-mail Marketing e criador e mantenedor do blog sobre e-mail marketing www.EmailMarketing.eti.br

16 Comentários

  1. Ingrid Logatto disse:

    Olá boa tarde.
    Queria saber como após estalar o pag tab na fan page do facebook para captar e-mails de cadastro eu faço para recebê-los. nao sei como configurar para receber os cadastros. obrigada

    • Ademir Diniz disse:

      Olá, Ingrid.

      Nos arquivos que disponibilizo no artigo, você precisará alterar algumas informações neles, hospedá-los no servidor de seu site e usá-los no Facebook.

      Quando alterar as configurações dos arquivos, terá a opção de definir para qual e-mail devem ser enviados os cadastros.

      Caso tenha dúvida ou precise de ajuda, me procure.

      Abraços e sucesso
      Ademir Diniz

  2. ederson disse:

    ola consegui fazer a parte de envio mais quando clico em confirmar ele da erro no endereço da pafina

  3. diogo leitegomes disse:

    ja tenho um formulario de cadastro com confirmacao por email so que mudei de hospedagem e nesta hospedagem requer autenticação
    toda vez que faco cadastro da erro falei com a hospedagem informarao que teria que implantar algo parecido como phpmailer mas eu nao sei como.
    tem alguma maneira de driblar a autenticacao

    ao se cadastrar e pra receber a mensagem cadastro efetuado e receber em seu email a confirmacao.
    mas quando mudei de hospedagem nao cadastra nada
    endereço pra alguem me ajudar
    http://www.sertaomix.net.br/esiclivre/cadastro/

    • Ademir Diniz disse:

      Olá, Diogo.

      Não é possível driblar a autenticação, pois ela é necessária para o envio do e-mail de forma correta.

      O script que disponibilizei no artigo já usa o PHPMailer. Basta fazer o download dos arquivos, salvá-los em um diretório do seu site (pode ser no …/esiclivre/cadastro/ mesmo), editar os arquivos “formulario.html”, “enviaConfirmacao.php” e “cadastroConfirmado.php” e assim terá o formulário funcionando.

      A parte da autenticação ficará nos arquivos enviaConfirmação e cadastroConfirmado que é onde você irá inserir o seu e-mail e senha. Esta é a autenticação necessária.

      Caso tenha dúvidas, estou à disposição.

      Abraço e sucesso!
      Ademir Diniz

  4. Adriana Sobon disse:

    Oi Ademir.

    Estou testando o seu cadastro, porém no meu site não está funcionando.
    Fiz as alterações conforme você ensinou e copiei todos os arquivos para o meu domínio. Mas, não tá fazendo nada depois que aperto o botão.
    As classes que estão dentro do diretório, devem ficar dentro do diretório PHPMailer (igual à estrutura do .zip) ou devo colocar as classes no mesmo diretório do formulário?
    Já tentei dos 2 jeitos….

    Agradeço se puder me ajudar.
    Obrigada.

    • Adriana Sobon disse:

      ESQUECE!!!
      Esse erro eu já resolvi!!
      Baixei os arquivos novamente, fiz as alterações novamente e deu certo.
      Deve ter dado algum problema antes.

      Mas… agora o erro é outro!
      SMTP Error: Could not connect to SMTP host.

      Já conferi os dados do servidor, usuário e senha, e está tudo correto.
      Meu servidor requer autenticação.
      Pode ser isso?
      Se sim, como fazer a classe funcionar?

      Obrigada!!!

  5. Ester Corrone disse:

    Olá Ademir,

    Foi de grande valia o artigo. Parabéns!
    Porém tenho uma dúvida: quando acrescento o código dentro do aplicativo, como faço para escolher o e-mail pra onde vão os dados cadastrados??

    Obrigada!
    Ester Corrone

    • Ademir Diniz disse:

      Olá, Ester.

      Agradeço o comentário e elogio.
      Ao baixar os arquivos, você precisará abrir os arquivos “enviaConfirmacao.php e cadastroConfirmado.php” e alterar as informações que estão marcadas com um comentário, exemplo:

      /* Alterar dados abaixo */
      $smtp 	= 'smtp.seudominio.com.br'; /* Coloque aqui o endereço smtp de seu site. Geralmente é igual à este: smtp.meusite.com.br */
      $emailUser	= 'seuemail@seudominio.com.br'; /* Coloque aqui o endereço de e-mail que irá enviar a mensagem */
      $senha	= 'senha_do_email_acima'; /* Coloque a senha do e-mail que irá enviar a mensagem */
      $destinatario	= "$emailUser"; /* Você pode, se quiser, alterar este campo para o endereço de e-mail que receberá o cadastro do usuário. Por padrão será enviado para o mesmo e-mail de remente */
      

      Ao definir a variável

      $emailUser

      , os dados serão enviados para este e-mail, mas você pode definir um e-mail diferente do remetente para receber as informações. Para isso, basta alterar a informação da variável

      $destinatario

      . Ficaria assim:

      $destinatario	= "estercorrone@hotmail.com";

      Caso tenha mais dúvidas, por favor, deixe nos comentários.

      Abraço e boa sorte!

  6. Rafael disse:

    Gostei do post. Mas, gostaria de além desse processo, o meu cliente depois de ativar seu cadastro no e-mail enviado a eles, os mesmos assim se dirigindo à pagina de login, o sistema redirecione ele para um formulário no qual os mesmos completem com seus dados pessoas, residenciais, etc. e a partir do segundo acesso com o login, os mesmos sejam direcionados para a área administrativa. E aí, poderia realizar um post ensiando aos leitores do site como realizá-lo ?

    Fico grato desde já pela atenção.
    Aguardo retorno por e-mail.

    Abraço.

    • Ademir Diniz disse:

      Olá, Rafael.

      Como o blog é focado em e-mail marketing criar um script para todo esse processo que deseja demandaria um tempo que não possuo hoje. Desculpa não poder te ajudar neste caso, mas não é complicado criar esse script não. Basta criar uma página em PHP que irá receber os dados de outra página. Pesquise sobre GET e POST em PHP que terá várias informações sobre como trocar informações entre páginas.

      Qualquer dúvida, posta aí um comentário.

      Abraço

  7. Lucas Silva S. disse:

    Aqui funcionou perfeitamente, realmente ficou muito bom, obrigado.
    Não é SPAM, apenas estou mostrando uma nova ferramenta que talvez vocês possam usar para divulgar algo ou agregar um grupo com as mesmas idéias.
    Embora ninguém possa voltar atrás e fazer um novo começo, qualquer um pode começar agora e fazer algo diferente para um novo fim.

    http://www.phaco.com.br

  8. josé luis disse:

    preciso inserir um sistema destes em um script pronto será que consigo?

    http://www.portalvilaprudente.com.br/AngelPeople

    Obrigado.

    • Ademir Diniz disse:

      Olá José. Depende de como é criado o script. O formulário disponível na página já está com todos os arquivos necessários para funcionar.

      Tenta aí, se não conseguir me passa o erro que está acontecendo que te ajudo.

      Abraço

  9. Clecira disse:

    Olhando para a frente a outro grande artigo.

Deixe seu comentário!