CodeBlogLogo CodeBlog

Enviar e-mail com PHP usando Gmail ou G-suite

Enviar e-mail com PHP usando Gmail ou G-suite

Você pode enviar suas mensagens de e-mail através de um formulário de contato utilizando os servidores do próprio google, como o Gmail ou o G-suite.

29565
Gooup Agência Digital

Você pode enviar suas mensagens de e-mail através de um formulário de contato utilizando os servidores do próprio google, como o Gmail ou o G-suite, através da configuração de um script PHP chamado PHPMailer. Para configurá-lo em sua hospedagem siga o passo a passo abaixo.

  1. Primeiro precisaremos que autorize as permissões de envio dos servidores gmail por gerenciadores não vincúlados ao google, como scripts neste caso. Para isso acesse os dois links a seguir, logue com o usuário e senha de sua conta de e-mail do google e habilite as opções que autorizam este envio.
    1. https://myaccount.google.com/lesssecureapps
    2. https://www.google.com/accounts/DisplayUnlockCaptcha
  2. Acesse o site https://code.google.com/archive/a/apache-extras.org/p/phpmailer/downloads e escolha uma versão do script, efetue a baixa do arquivo para seu local de trabalho.
  3. Agora será necessário criar 2 scripts PHP no mesmo nível onde se encontra o diretório do PHPMailer. Note que os dois scripts ficarão no mesmo nível do PHPMailer e não dentro de seu diretório.
  4. Crie o primeiro arquivo com o nome de "formemail.php" e preencha-o com as seguintes linhas de código:


  5. Enviando Email com PHP



    Enviando Email com PHP e Gmail


























  6. O segundo arquivo deverá ter o nome de “enviaremail.php” e deve ser preenchido com o seguinte código:
  7. /* Recuperar os Dados do Formulário de Envio*/
    $txtNome = $_POST["txtNome"];
    $txtAssunto = $_POST["txtAssunto"];
    $txtEmail = $_POST["txtEmail"];
    $txtMensagem = $_POST["txtMensagem"];

    /* Montar o corpo do email*/
    $corpoMensagem = "Nome: ".$txtNome."
    Assunto: ".$txtAssunto."
    Mensagem: ".$txtMensagem;

    /* Extender a classe do phpmailer para envio do email*/
    require_once("phpmailer/class.phpmailer.php");

    /* Definir Usuário e Senha do Gmail de onde partirá os emails*/
    define('GUSER', 'seumail@gmail.com');
    define('GPWD', 'suasenha');

    function smtpmailer($para, $de, $nomeDestinatario, $assunto, $corpo) {
    global $error;
    $mail = new PHPMailer();
    /* Montando o Email*/
    $mail->IsSMTP(); /* Ativar SMTP*/
    $mail->SMTPDebug = 1; /* Debugar: 1 = erros e mensagens, 2 = mensagens apenas*/
    $mail->SMTPAuth = true; /* Autenticação ativada */
    $mail->SMTPSecure = 'ssl'; /* TLS REQUERIDO pelo GMail*/
    $mail->Host = 'smtp.gmail.com'; /* SMTP utilizado*/
    $mail->Port = 465; /* A porta 465 deverá estar aberta em seu servidor*/
    $mail->Username = GUSER;
    $mail->Password = GPWD;
    $mail->SetFrom($de, $nomeDestinatario);
    $mail->Subject = $assunto;
    $mail->Body = $corpo;
    $mail->AddAddress($para);
    $mail->IsHTML(true);

    /* Função Responsável por Enviar o Email*/
    if(!$mail->Send()) {
    $error = "Mail error: ".$mail->ErrorInfo;
    return false;
    } else {
    $error = "Mensagem enviada com Sucesso!";
    return true;
    }
    }

    /* Passagem dos parametros: email do Destinatário, email do remetende, nome do remetente, assunto, mensagem do email.*/
    if (smtpmailer($txtEmail, 'hostingmachine@gmail.com', $txtNome, $txtAssunto, $corpoMensagem)) {
    Header("location: sucesso.php"); // Redireciona para uma página de Sucesso.
    }
    if (!empty($error)) echo $error;
    ?>
  8. Após criar os dois arquivos, é necessário alterar as linhas 15 e 16 do arquivo nomeado como "enviaremail.php", estas linhas deverão ser preenchidas com o e-mail e senha respectiva da conta de e-mail google que efetuará seus envios. Também é necessário alterar a linha 48, substitua "sucesso.php" para a página que deseja ser redirecionado após o envio de seu e-mail.
  9. Para testar o envio, abra uma nova aba em seu navegador e digite o endereço de seu arquivo, como por exemplo, dominio.com.br/enviaremail.php

 

Para adequar este formulário de contato ao Layout de seu site será necessário conhecimento prévio de HTML, PHP e CSS.

Este foi um exemplo de FormMail utilizando os servidores de envio de e-mail do google, qualquer dúvida deixe nos comentários abaixo. =) 

COMENTÁRIOS

Posts Relacionados!

Hoje venho trazer uma forma simples de gerar Hash com PHP. Muitas vezes precisamos de funções...