✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

Enviar e-mail usando o servidor SMTP do Gmail a partir de script PHP

25

O e-mail desempenha um papel importante no site. Todo site geralmente precisa enviar e-mails aos usuários. Esses e-mails podem ser enviados da página de contato, newsletter, formulário de inscrição, etc.

PHP fornece uma mail()função que é usada para enviar um e-mail. Mas existem limitações ao usar o mail()método. Você não pode enviar e-mail de um servidor de desenvolvimento local. Outra desvantagem é que há uma grande possibilidade de seu e-mail acabar em um Spam.

Na maioria dos casos, o mail()método ainda não envia um e-mail. Isso pode ser devido à configuração incorreta do servidor ou outra coisa.

Para sair desses problemas ou limitações, pode-se usar o servidor SMTP para enviar os e-mails.

Neste artigo, estudamos como usar o PHPMailer e o servidor SMTP do Gmail para enviar e-mails.

Instalação

Você primeiro precisa instalar a biblioteca PHPMailer em seu projeto. A maneira recomendada de instalar uma biblioteca é por meio do Composer.

Abra o prompt de comando no diretório raiz do seu projeto e execute o comando abaixo.

composer require phpmailer/phpmailer

Como estamos usando o SMTP do Gmail, você precisa alterar algumas configurações da sua conta do Google. Faça login em sua conta do Google e clique em Minha conta. Quando estiver na página Minha conta, clique em Segurança. Role para baixo até a parte inferior e você encontrará as configurações de ‘Acesso de aplicativo menos seguro’. Defina-o como ON.

Enviar e-mail usando o servidor SMTP do Gmail a partir de script PHP

Depois disso, precisamos escrever um código que envia um e-mail usando a biblioteca PHPMailer e o servidor SMTP do Gmail.

Script PHP para enviar e-mail usando o servidor SMTP do Gmail

Abra seu arquivo PHP onde você precisa escrever um código para e-mails. Por exemplo, estou assumindo que você tem um sendemail.phparquivo no diretório raiz.

sendemail.php

<?php //Import PHPMailer classes into the global namespace use PHPMailerPHPMailerPHPMailer; use PHPMailerPHPMailerException;   require_once 'vendor/autoload.php';   $mail = new PHPMailer(true); ?>

No código acima, incluí o ambiente da biblioteca PHPMailer no arquivo PHP.

Em seguida, para enviar e-mails usando o PHPMailer, o usuário precisa passar o endereço do servidor SMTP do Gmail, a porta SMTP do Gmail e a autenticação SMTP (que nada mais é do que seu nome de usuário e senha de uma conta do Google).

$mail->isSMTP(); $mail->Host = 'smtp.googlemail.com'//gmail SMTP server $mail->SMTPAuth = true; $mail->Username = 'GMAIL_USERNAME';   //username $mail->Password = 'GMAIL_PASSWORD';   //password $mail->SMTPSecure = 'ssl'; $mail->Port = 465;                    //SMTP port

É isso! Você concluiu a configuração. Agora, você está pronto para enviar um e-mail a um usuário.

$mail->setFrom('FROM_EMAIL_ADDRESS', 'FROM_NAME'); $mail->addAddress('RECEPIENT_EMAIL_ADDRESS', 'RECEPIENT_NAME');   $mail->isHTML(true);   $mail->Subject = 'Email subject'; $mail->Body    = '<b>Email Body</b>';   $mail->send(); echo 'Message has been sent';

Substitua os marcadores de posição por valores reais. Execute este arquivo em um navegador e seu e-mail deve ser enviado no endereço de e-mail do destinatário.

Envio de anexos em um e-mail

Usando a biblioteca do PHPMailer, pode-se enviar um ou vários anexos em um e-mail. Tudo o que você precisa fazer é passar um caminho de diretório de seus anexos para o método da addAttachmentseguinte maneira.

$mail->addAttachment(__DIR__. '/attachment1.png'); $mail->addAttachment(__DIR__. '/attachment2.jpg');

Nosso código final é o seguinte.

sendemail.php

<?php use PHPMailerPHPMailerPHPMailer; use PHPMailerPHPMailerException;   require_once "vendor/autoload.php"; require_once "constants.php";   $mail = new PHPMailer(true);   try {     $mail->isSMTP();     $mail->Host = 'smtp.googlemail.com'//gmail SMTP server     $mail->SMTPAuth = true;     $mail->Username = GMAIL_USERNAME;   //username     $mail->Password = GMAIL_PASSWORD;   //password     $mail->SMTPSecure = 'ssl';     $mail->Port = 465;                    //smtp port        $mail->setFrom('FROM_EMAIL_ADDRESS', 'FROM_NAME');     $mail->addAddress('RECEPIENT_EMAIL_ADDRESS', 'RECEPIENT_NAME');       $mail->addAttachment(__DIR__. '/attachment1.png');     $mail->addAttachment(__DIR__. '/attachment2.png');       $mail->isHTML(true);     $mail->Subject = 'Email Subject';     $mail->Body    = '<b>Email Body</b>';       $mail->send();     echo 'Message has been sent'; } catch (Exception $e) {     echo 'Message could not be sent. Mailer Error: '. $mail->ErrorInfo; } ?>

Espero que você entenda como enviar e-mail usando o servidor SMTP do Gmail a partir de um script PHP. Por favor, compartilhe seus pensamentos e sugestões em um comentário abaixo.

Artigos relacionados

Fonte de gravação: artisansweb.net

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação