Como enviar e-mail por script PHP utilizando o PHPMailer

O PHPMailer é uma das bibliotecas mais utilizadas para enviar e-mail em PHP, como ela você pode enviar e-mails autenticados via script PHP dentro da sua hospedagem de site garantindo mais confiabilidade do seu e-mail.

Primeiramente para utiliza-la você precisa baixa-la para o seu projeto, você pode utilizar o composer, pode clona-la pelo GIT e até mesmo baixa-la, exemplo:

composer require phpmailer/phpmailer

git clone https://github.com/PHPMailer/PHPMailer.git

https://github.com/PHPMailer/PHPMailer/archive/master.zip

Depois de baixada você deve incluí-la em seu projeto, se você estiver utilizando o autoload do composer pode pular a próxima etapa, mas se for inclui-la manualmente você pode utilizar o seguinte código:

<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'path/to/PHPMailer/src/Exception.php';
require 'path/to/PHPMailer/src/PHPMailer.php';
require 'path/to/PHPMailer/src/SMTP.php';

Para realizar o envio você deve criar um objeto e parametrizar com as configurações de uma conta de e-mail que você já tenha criado anteriormente em sua conta de hospedagem de site.

$mail = new PHPMailer(true);

try {
    # Informa que o protocolo a ser utilizado é o SMTP
    $mail->isSMTP();
    # Informe o servidor SMTP
    $mail->Host       = 'mail.seudominio.com';
    # Habilita a autenticação por SMTP
    $mail->SMTPAuth   = true;
    # Informe o seu usuário do servidor SMTP, aqui na HOST4 é sempre o seu e-mail completo
    $mail->Username   = '[email protected]'; 
    # Preencha com a senha do seu e-mail
    $mail->Password   = '******';
    # Definimos a criptografia a ser utilizada tls ou ssl
    $mail->SMTPSecure = 'tls';
    # Informe a porta pode ser a 587 ou a 465
    $mail->Port       = 587;                           

    # Informe o e-mail remetente recomendamos que seja o mesmo e-mail da configuração do envio
    $mail->setFrom('[email protected]', 'Nome');
    # Informe o e-mail para onde o e-mail será enviado
    $mail->addAddress('[email protected]', 'Nome Exemplo');
    # Você pode definir um e-mail de resposta
    $mail->addReplyTo('[email protected]', 'Seu Nome');

    # Configura o e-mail para ser enviado no formato HTML
    $mail->isHTML(true);
    # Configura o Assunto do e-mail
    $mail->Subject = 'Assunto do E-mail';
    # Aqui você escreve a mensagem que irá no corpo do e-mail
    $mail->Body    = 'Mensagem com tags HTML';
    # Você pode definir um texto alternativo para clientes de e-mail que não suportem HTML
    $mail->AltBody = 'Mensagem em texto simples';

    # Código para realizar o e-mail
    $mail->send();
    
    #em caso de sucesso você pode mostrar uma mensagem ou redirecionar o fluxo para outro lugar
    echo 'E-mail enviado com sucesso';

} catch (Exception $e) {

    # Caso ocorra algum problema o script cairá aqui
    echo "O e-mail não pode ser enviado: {$mail->ErrorInfo}";
}

Caso tenha alguma dúvida ou queira implementar mais algum recurso recomendamos a leitura da documentação em: https://github.com/PHPMailer/PHPMailer/wiki

  • hospedagem de site, phpmailer, enviar e-mail, enviar email com php
  • 0 Usuários acharam útil
Esta resposta lhe foi útil?

Artigos Relacionados

Como se proteger do SQL Injection

A HOST4 sempre toma todas as precauções em relação a...

Como enviar e-mails com a função mail() do PHP

Para ajudar nossos clientes disponibilizamos um exemplo de formulário de contato...

Criando URLs amigáveis

Hoje em dia é muito comum o uso de scripts que rodam no servidor (server-side) para gerar...

Como alterar a versão do PHP em sua hospedagem de site

Muitas vezes a versão padrão do PHP instalada no servidor não é a que seu script precisa,...

Como aumentar o limite de upload PHP em sua hospedagem de site

Nem sempre as configurações padrão da sua hospedagem de site permitem que você faça o upload de...