"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Entregue e-mails com segurança com PHP: um guia para usar SMTP para e-mails livres de spam

Entregue e-mails com segurança com PHP: um guia para usar SMTP para e-mails livres de spam

Publicado em 2024-11-08
Navegar:493

Deliver Emails Safely with PHP: A Guide to Using SMTP for Spam-Free Emails

Aqui está um exemplo passo a passo de como enviar e-mails sem cair na pasta de spam usando PHP SMTP.

Usaremos a biblioteca PHPMailer, que simplifica o envio de e-mails via SMTP e ajuda a melhorar a capacidade de entrega. Seguindo essas etapas, você aprenderá como configurar corretamente o SMTP para evitar que e-mails caiam na pasta de spam.

Passo 1: Instale o PHPMailer

Primeiro, você precisa instalar a biblioteca PHPMailer. Você pode fazer isso usando o Composer.

composer require phpmailer/phpmailer

Se você não possui o Composer, você pode baixar o PHPMailer manualmente do GitHub e incluí-lo em seu projeto.

Etapa 2: Crie o script de correio PHP

Crie um novo arquivo send_email.php onde você escreverá o script para enviar o email usando PHPMailer com SMTP.

isSMTP();                                          // Use SMTP
    $mail->Host = 'smtp.example.com';                         // Set the SMTP server (use your SMTP provider)
    $mail->SMTPAuth = true;                                   // Enable SMTP authentication
    $mail->Username = '[email protected]';               // SMTP username
    $mail->Password = 'your_password';                        // SMTP password
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;       // Enable TLS encryption, `ssl` also accepted
    $mail->Port = 587;                                        // TCP port to connect to (587 is common for TLS)

    //Recipients
    $mail->setFrom('[email protected]', 'Your Name');
    $mail->addAddress('[email protected]', 'Recipient Name');  // Add recipient
    $mail->addReplyTo('[email protected]', 'Reply Address');    // Add a reply-to address

    // Content
    $mail->isHTML(true);                                        // Set email format to HTML
    $mail->Subject = 'Test Email Subject';
    $mail->Body    = 'This is a test email sent using PHPMailer and SMTP.';
    $mail->AltBody = 'This is a plain-text version of the email for non-HTML email clients.';

    // Send the email
    $mail->send();
    echo 'Message has been sent';
} catch (Exception $e) {
    echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}

Divisão peça por peça:

  1. Inicialização do PHPMailer:

    • Após incluir os arquivos necessários via Composer, criamos uma instância da classe PHPMailer.
    • O bloco try-catch é usado para lidar com quaisquer exceções que possam ocorrer durante o envio do e-mail.
  2. Configuração do servidor SMTP:

    • $mail->isSMTP() diz ao PHPMailer para usar SMTP para enviar o email.
    • $mail->Host = 'smtp.example.com': Substitua 'smtp.example.com' pelo host do seu provedor SMTP (por exemplo, o SMTP do Gmail é 'smtp.gmail.com').
    • $mail->SMTPAuth = true: Isso habilita a autenticação, que geralmente é exigida por servidores SMTP.
    • $mail->Nome de usuário e $mail->Senha: Insira suas credenciais SMTP aqui.
    • $mail->SMTPSecure: Define o método de criptografia. TLS (STARTTLS) é recomendado para segurança.
    • $mail->Porta: As portas SMTP comuns são 587 para TLS e 465 para SSL. Use a porta exigida pelo seu servidor SMTP.
  3. Definindo o remetente e o destinatário:

    • $mail->setFrom('[email protected]', 'Your Name'): Especifica o e-mail e o nome do remetente.
    • $mail->addAddress('[email protected]', 'Recipient Name'): Adiciona o e-mail e o nome do destinatário.
    • $mail->addReplyTo(): ​​Define o endereço de e-mail para resposta (opcional).
  4. Configurando o conteúdo do e-mail:

    • $mail->isHTML(true): Especifica que o conteúdo do email será HTML.
    • $mail->Assunto: Define o assunto do email.
    • $mail->Body: Este é o conteúdo HTML do email.
    • $mail->AltBody: Esta é uma versão em texto simples do corpo do email, útil para clientes de email que não suportam HTML.
  5. Enviando o e-mail:

    • $mail->send() tenta enviar o email. Se for bem-sucedido, uma mensagem de sucesso será impressa; caso contrário, o erro será detectado e exibido.

Etapa 3: configuração SMTP e práticas recomendadas

Para evitar que e-mails vão para a pasta de spam, é crucial seguir estas práticas recomendadas:

  1. Use um provedor SMTP confiável:

    Usar um provedor SMTP confiável como Gmail, SendGrid ou Mailgun melhora a capacidade de entrega porque é menos provável que sejam sinalizados como spam.

  2. Autenticar seu domínio:

    Configure registros SPF (Sender Policy Framework), DKIM (DomainKeys Identified Mail) e DMARC (Domain-based Message Authentication, Reporting & Conformance) para o seu domínio para verificar a legitimidade dos seus e-mails.

  3. Evite conteúdo com spam:

    Certifique-se de que o conteúdo do seu e-mail esteja limpo e não sinalizado como spam. Evite o uso excessivo de letras maiúsculas, palavras com spam (como "grátis", "vencedor" etc.) e muitos links.

  4. Usar alternativa de texto simples:

    Sempre inclua uma versão em texto simples do seu e-mail ($mail->AltBody). Alguns clientes de e-mail sinalizam e-mails somente em HTML como suspeitos.

  5. Evite serviços de e-mail gratuitos como remetentes:

    Use um endereço de e-mail profissional do seu próprio domínio em vez de serviços gratuitos como Gmail, Yahoo, etc., para evitar ser sinalizado como spam.

  6. Limite o número de destinatários por e-mail:

    Ao enviar e-mails em massa, use serviços de e-mail em massa adequados em vez de enviar para vários destinatários em uma mensagem para evitar ser sinalizado por spam.

Etapa 4: execute o script

Faça upload do arquivo send_email.php para o seu servidor e execute-o no navegador ou através da linha de comando:

php send_email.php

Se a configuração estiver correta, você verá a mensagem:

Message has been sent

Se houver um erro, será exibido:

Message could not be sent. Mailer Error: {Error Message}

Conclusão

Ao usar o PHPMailer e uma configuração SMTP adequada, você pode garantir que seus e-mails sejam enviados de maneira confiável e com menor chance de cair na pasta de spam. Aqui está um rápido resumo:

  1. Instale o PHPMailer para simplificar o envio de e-mail com SMTP.
  2. Configure o SMTP corretamente com autenticação e criptografia.
  3. Use a verificação de domínio adequada (SPF, DKIM, DMARC) para aumentar a capacidade de entrega.
  4. Escreva conteúdo de e-mail limpo e sem spam e sempre inclua uma versão em texto simples.
  5. Execute o script e monitore a mensagem de sucesso ou o log de erros.

Essa abordagem garante melhor capacidade de entrega e reduz as chances de seus e-mails serem marcados como spam.

Sinta-se à vontade para me seguir:

  • LinkedIn
  • GitHub
Declaração de lançamento Este artigo está reproduzido em: https://dev.to/mdarifulhaque/deliver-emails-safely-with-php-a-guide-to-using-smtp-for-spam-free-emails-12d4?1Se houver algum violação, entre em contato com [email protected] para excluir
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3