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.

