Crie um formulário de contato php autenticado, com PHPMailer

Crie um formulário de contato php autenticado, com PHPMailer

03/11/2017 às 11:58Ajuda

Um dos itens que não podem faltar em qualquer site é um formulário de contato, sem ele você se distancia dos seus visitantes e impossibilita qualquer tipo de contato profissional, seja com parcerias, sugestões, críticas, sem dúvidas é uma das maneiras de entender o seu público e aprender qual será a melhor maneira de comandar o seu projeto.

Você precisade uma hospedagem de site para realizar esse procedimento, fique atento.

Já mostramos como criar um formulário de contato com php, mas em alguns casos, para garantir a entrega das mensagens alguns desenvolvedores preferem usar envios autenticados em seus formulários de contato e ter uma conta de e-mail dedicada a essa tarefa, para isso o PHPMailer oferece uma configuração fácil e rápida de ser implementada e não leva mais do que 5 minutos!

Porque usar um formulário de contato autenticado?

Alguns formulários não podem de jeito nenhuim deixarem de ser enviados e chegarem em sua caixa de entrada sem problemas, mas dependendo de sua configuração, ele sofre com problemas relacionados a "qualidade do envio", configuração inapropriada, sem verificações, tentativas de envio repetidas, e tudo isso pode contribuir para que ao longo do tempo a sua entregabilidade caia e com isso passe a ter problemas mais graves com o seu domínio, mais especificamente com o envio e recebimento de e-mails. Por esse motivo existem os formulários autenticados pelo protocolo SMTP, que garantem sempre a qualidade do envio, através de validação de SPF e DKIM, estatísticas do controle de limites de envio do provedor, lista branca para o seu próprio domínio (caindo sempre na caixa de entrada), em resumo, é tudo o que você precisa para garantir que tudo esteja sempre funcionando bem. Podemos resumir as vantagens da seguinte maneira:

  • Melhora a entregabilidade.

  • Evita spam.

  • Evita perda de e-mails de contato.

Para essa tarefa, usamos o PHPMailer, que é um já consagrado sistema de envio de e-mails, em constante atualização e sempre com novos recursos para garantir mais estabilidade e eficiência nos envios, você pode realizar o download dos arquivos através do seurepositório oficial do PHPMailerno GitHub, que está sempre com as últimas versões e sem alterações de terceiros, o mais indicado é sempre usar as fontes oficiais, outros sites podem realizar alterações indevidas nos arquivos que disponibilizam para download.

Como usar o script?

Para começar a usar o PHPMailer é muito simples, bastando implementar uma configuração básica e que servirá perfeitamente para qualquer projeto (e pode ser adaptado livremente).

Exemplo de um formulário no PHPMailer:

<?php// Importa a sua classe global do PHPMailer para o uso.use PHPMailer\PHPMailer\PHPMailer;use PHPMailer\PHPMailer\Exception;// Carrega os arquivos necessários para o funcionamento.require 'caminho/para/PHPMailer/src/Exception.php';require 'caminho/para/PHPMailer/src/PHPMailer.php';require 'caminho/para/PHPMailer/src/SMTP.php';$mail = new PHPMailer(true);                              // Passing `true` enables exceptionstry {   // Configurações do Servidor   $mail->SMTPDebug = 2;       // Habilita o modo de depuração, use 0 para ambiente de produção   $mail->isSMTP();                                      // Define o uso do SMTP   $mail->Host = 'smtp.seuproprionome.com.br';  // Define o seu servidor de envio (SMTP)   $mail->SMTPAuth = true;                               // Habilita a autenticação SMTP   $mail->Username = 'naoresponda@seuproprionome.com.br';               // Usuário da conta de e-mail   $mail->Password = 'senha-dificil';                           // Senha da conta de e-mail   $mail->SMTPSecure = 'tls';                   // Habilita a encryptação, caso tenha SSL   $mail->Port = 587;                                    // Define a porta de conexão   // Configurações dos remetentes e destinatários // 1 - Remetente   $mail->setFrom('remetente@seuproprionome.com.br', 'Remetente'); // 2 - Destinatários   $mail->addAddress('voce@seuproprionome.com.br', 'Seu Nome');     // Quem recebe a mensagem   $mail->addReplyTo('voce@seuproprionome.com.br', 'Seu Nome');  // Quem responde as mensagens   $mail->addCC('cc@seuproprionome.com.br');                        // E-mail em cópia   $mail->addBCC('bcc@seuproprionome.com.br');                      // E-mail em cópia oculta   // Configuração de Anexos (caso existam)   $mail->addAttachment('curriculo-fulano.pdf');         // Incluindo anexos captados do formulário   // Conteúdo do e-mail   $mail->isHTML(true);                                  // Definindo formatação para HTML   $mail->Subject = 'Assunto da mensagem';   $mail->Body    = 'Conteúdo da mensagem, pode conter formatação HTML!';   $mail->AltBody = 'Formatação opcional para leitura "não-HTML", texto puro!';   $mail->send();   echo 'Mensagem enviada com sucesso!';       // Definindo mensagem de sucesso no envio} catch (Exception $e) {   echo 'Sua mensagem não foi enviada.';       // Definindo mensagem em caso de erro no envio   echo 'Erro: ' . $mail->ErrorInfo;              // Exibindo mensagem de erro}

Com tudo configurado, você pode começar a realizar alguns testes e verificar se está funcionando como você deseja, as configurações são flexíveis e você pode alterar a qualquer momento, apenas verifique sempre se suas contas de e-mail estão verificadas, e com as verificações de SPF e DKIM corretas, esse é o ponto principal para o uso de autenticação STMP nos seus formulários de contato.

Conclusão

Não é difícil implementar um novo formulário de contato com toda a segurança e verificações necessárias para que seus e-mails de contato cheguem sempre a sua caixa de entrada, você precisa apenas criar o seu formulário com as verificações básicas de campo e usar nossa dica com o PHPMailer para que seus envios sejam verificados e sempre cheguem corretamentre a todos os endereçados, isso evita perda de mensagens, contatos não realizados e o principal para qualquer negócio, evita perder dinheiro!

Qualquer projeto pode conter um formulário de contato autenticado com PHPMailer, mas vale falar novamente que você precisa de umahospedagem de sitepara usar esse recurso do php. Você pode testar nossa dica com oPHP 7, oferecido em todos os nossos planos, teste com 30 dias gratis.

Gostou de nosso post? Compartilhe: