Neste artigo vamos ver como enviar emails com PHP. Para um melhor exemplo, vamos criar uma página de captura de leads, que envia por email o nome e email cadastrados. Vamos realizar o envio de emails utilizando a classe PHPMailer. Em nossa página de captura de leads, vamos utilizar HTML, CSS e o Framework Bootstrap 4.
Envio de Email
O primeiro passo é realizar a instalação do PHPMailer. Aqui vou realizar a instalação utilizando o Composer, que é um gerenciador de dependências para PHP. Caso não possua o Composer instalado em seu computador, veja no site oficial do Composer como realizar sua instalação. Utilize o comando abaixo em seu terminal para a instalação.
composer require phpmailer/phpmailer
Após a instalação vamos criar o arquivo sendemail.php. Adicione o código abaixo neste arquivo.
<?php use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\SMTP; use PHPMailer\PHPMailer\Exception; require './vendor/autoload.php'; if (empty($_POST['nome'])) { header("Location: /newsletter.php?res=falha"); exit(); } if (empty($_POST['email'])) { header("Location: /newsletter.php?res=falha"); exit(); } $mail = new PHPMailer(true); try { $mail->isSMTP(); $mail->Host = 'smtp.meuservidor.com.br'; $mail->SMTPAuth = true; $mail->SMTPSecure = false; $mail->SMTPAutoTLS = false; $mail->Username = 'meuemail@meuservidor.com.br'; $mail->Password = 'senhadoemail'; $mail->Port = 587; $mail->CharSet = 'UTF-8'; $mail->setFrom('meuemail@meuservidor.com.br', 'Cadastro Newsletter'); $mail->addAddress('meuemail@meuservidor.com.br'); $mail->isHTML(true); $mail->Subject = 'Cadastro em Newsletter IriasLab'; $mail->Body = 'Bom dia,<br/><br/>Cadastro na Newsletter do blog IriasLab.<br/><br/> <b>Nome: </b>' . $_POST['nome'] . '<br/> <b>Email: </b>' . $_POST['email'] . '<br/>'; $mail->send(); $res = 'sucesso'; } catch (Exception $e) { $res = 'falha'; } header("Location: /newsletter.php?res=" . $res); exit();
No código acima, recebemos o nome e o email vindos do formulário da newsletter. Utilizando a função empty, realizamos a validação se o nome e email foram informados. Caso algum deles não tenha sido informado, realizamos o redirect para a o formulário, passando o valor falha no parâmetro res.
Após isso criamos o objeto mail a partir da classe PHPMailer, e incluímos toda a configuração necessária para o envio do email. Substitua as configurações pelas configurações de seu servidor de emails. Para mais detalhes sobre o PHPMailer, veja no repositório do GitHub do PHPMailer. No final do envio realizamos o redirect para o formulário passando o valor de sucesso ou falha no parâmetro res.
Página de captura.
Nossa página de captura é composta de três arquivos e uma imagem: newsletter.php, newsletter.css, bootstrap.min.css e background.jpg. Vou deixar o projeto completo em meu GitHub, onde o mesmo já está organizado. https://github.com/andersonirias/pagina-captura. Nossa página de captura ficará com a seguinte aparência.
