SwiftHTML & CSSSolidityDesenvolvimento de JogosSolana/Rust
15.03.2025

Enviando E-mails em HTML com Imagens Incorporadas usando PHPMailer

Resposta Rápida

Para incorporar uma imagem diretamente no corpo de um e-mail com PHPMailer, utilize o método AddEmbeddedImage. Este método anexa a imagem ao e-mail e atribui a ela um CID único, que é então utilizado como um link no código HTML do e-mail.

$mail->AddEmbeddedImage('imagem.jpg', 'meu_imagem_cid', 'nome_imagem.jpg'); 
$mail->Body = '<img src="cid:meu_imagem_cid">';

É importante garantir que o CID definido no método AddEmbeddedImage corresponda ao valor especificado no atributo src da tag <img>.

Explorando a Incorporação de Imagens no PHPMailer

Dedique um tempo para entender thoroughly os princípios de trabalhar com imagens no PHPMailer. Pode parecer complexo à primeira vista, mas o conhecimento adquirido aprimorará suas habilidades. Lembre-se: é necessário ter uma compreensão básica de PHP.

Métodos do PHPMailer: Compare e Escolha

Explore as diferenças entre os métodos AddEmbeddedImage() e AddAttachment() para um manuseio de e-mails mais eficaz.

// Este método adiciona uma imagem como um anexo regular em vez de incorporá-la no corpo do e-mail
$mail->AddAttachment('cachorro.jpg', 'cachorro'); 

AddAttachment() informa ao PHPMailer para adicionar a imagem como um anexo separado. Ela não será incorporada no corpo do e-mail como você preferiria.

// Use este método para criar um e-mail de qualidade com imagens incorporadas
$mail->AddEmbeddedImage('logo.jpg', 'meu_logo', 'logo.jpg');

Diferente de AddAttachment(), o método AddEmbeddedImage() permite que você incorpore a imagem diretamente no corpo do e-mail e atribua a ela um CID único.

Trabalhando com Imagens: Um Guia Rápido

Aqui estão os passos para incorporar corretamente imagens, seja salvas localmente ou em um servidor remoto.

  1. Para enviar um logo no e-mail salvo localmente:

    $mail->AddEmbeddedImage('caminho/para/logo.jpg', 'logo_cid');
  2. Se você precisar incorporar uma imagem da Internet:

    $imagemDado = file_get_contents('https://exemplo.com/imagem.jpg');
    $mail->addStringAttachment($imagemDado, 'imagem.jpg', 'base64', 'image/jpeg', 'inline', 'imagem_boss');

Prós e Contras das Imagens Incorporadas

Esteja preparado para desafios ao trabalhar com imagens no PHPMailer:

  • Imagens Bloqueadas: Sempre forneça texto alternativo para as imagens, caso elas sejam bloqueadas.
  • Tamanhos de Imagem Grandes: Arquivos muito grandes podem fazer com que o e-mail seja enviado como spam. Otimize as imagens antes de incorporá-las.
  • Bloqueio em Clientes de E-mail: Note que alguns serviços de e-mail bloqueiam imagens incorporadas por padrão. Portanto, é importante que o e-mail seja informativo e não dependa apenas de imagens.

Visualização

Imagine que cada imagem na galeria HTML do seu e-mail possui um cid único:

<!-- É assim que as imagens incorporadas aparecem no PHPMailer -->
<img src="cid:id-imagem-unica" alt="Mona Lisa">

O link através de cid:id-imagem-unica proporciona acesso direto às imagens no e-mail, assim como um convite para uma exposição privada.

Um Desenvolvedor Experiente Revela os Segredos do Design de E-mail Perfeito

Adaptando E-mails para Qualquer Dispositivo

Garanta que seus designs de e-mail sejam exibidos corretamente em qualquer dispositivo.

CSS — Nosso Assistente Indispensável

Use estilos CSS com sabedoria para que seus e-mails mantenham uma aparência atraente mesmo quando as imagens não puderem ser carregadas.

Mantendo Simples e Leve

Simplicidade e facilidade são cruciais; evite sobrecarga de informações e use imagens de forma pensativa e cuidadosa.

Teste Final

Não se esqueça de testar os e-mails em vários clientes de e-mail e fazer os ajustes necessários. Você tem um conjunto completo de ferramentas à sua disposição para facilitar esta tarefa.

Recursos Úteis

  1. GitHub - PHPMailer/PHPMailer: Uma Biblioteca Confiável para Enviar E-mails com PHP — O código fonte do PHPMailer está disponível para sua análise.
  2. Serviço de API de E-mail Transacional para Desenvolvedores | Mailgun — Um artigo detalhado sobre como incorporar imagens em e-mails HTML.
  3. Devo Enviar Anexos com PHP Mail()? - Stack Overflow — Uma discussão sobre vários aspectos do envio de anexos no Stack Overflow.
  4. Lista Completa de Tipos MIME — Uma lista útil de tipos MIME para referência.
  5. Fontes da Web: Como Perfeicioná-las em E-mails | Litmus — Um mergulho profundo no uso de fontes da web em e-mails.

Video

Did you like this article? Rate it from 1 to 5:

Thank you for voting!