
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.
30233 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.
- 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.
- 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.
- 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.
- Crie o primeiro arquivo com o nome de "formemail.php" e preencha-o com as seguintes linhas de código:
-
Enviando Email com PHP Enviando Email com PHP e Gmail
- O segundo arquivo deverá ter o nome de “enviaremail.php” e deve ser preenchido com o seguinte código:
/* 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;
?>- 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.
- 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