Compartilhar via

Erro ao gerar assinatura Outlook via C# (GDI+): Imagem não renderiza corretamente ou arquivo fica travado.

Diego Camacho 0 Pontos de reputação
2026-02-05T18:18:36.0333333+00:00

Estou desenvolvendo um serviço em C# para gerar assinaturas personalizadas para o Outlook. O código carrega um template PNG, desenha o nome e o cargo do usuário e salva os arquivos (.htm, .rtf, .txt) na pasta %AppData%\Microsoft\Signatures.

Xml:

        string html = $@"<html xmlns:v=""urn:schemas-microsoft-com:vml"" xmlns:o=""urn:schemas-microsoft-com:office:office"" xmlns:w=""urn:schemas-microsoft-com:office:word"" xmlns=""http://www.w3.org/TR/REC-html40"">

<head>

<meta http-equiv=Content-Type content=""text/html; charset=windows-1252"">

<meta name=ProgId content=Word.Document>

<meta name=Generator content=""Microsoft Word 15"">

<link rel=File-List href=""{nomePastaCodificado}/filelist.xml"">

</head>

<body lang=PT-BR style='tab-interval:35.4pt;word-wrap:break-word'>

<div class=WordSection1>

<p class=MsoAutoSig>

<![if !vml]><img width={img.Width} height={img.Height} src=""{nomePastaArquivos}/image001.png""><![endif]>

</p>

</div>

</body>

</html>";

Captura de tela 2026-02-05 150751

o outlook reconhece a assinatura, mas na hora de enviar, o destinatário não consegue visualizar.

Tecnologias de desenvolvedor | .NET | Outro
0 comentários Sem comentários
{count} votos

1 resposta

Classificar por: Mais útil
  1. Dio Xavier 277.7K Pontos de reputação Moderador Voluntário
    2026-02-08T15:57:40.4133333+00:00

    Olá

    Bem vindo á Comunidade Microsoft

    Bom dia, Diego. Obrigado opor expor o cenário. Este comportamento é esperado pois o Outlook reconhece a assinatura, mas não envia imagens locais referenciadas na pasta Signatures. O <img src="image001.png"> funciona só no computador do remetente. Para o destinatário, a imagem não existe.

    Passos para corrigir o problema:

    Opção mais simples: hospede a imagem em uma URL HTTPS pública e use esse link no HTML.

    Opção recomendada em C#: incorpore a imagem no envio do e-mail usando CID (Content-ID) com AlternateView e LinkedResource.

    Importante

    Apenas gerar os arquivos .htm, .rtf e .txt não é suficiente.

    A imagem precisa ser anexada no momento do envio.

    Prefira UTF-8 em vez de windows-1252.

    Documentação de referência técnica:

    https://learn.microsoft.com/dotnet/api/system.net.mail.alternateview https://learn.microsoft.com/outlook/troubleshoot/message-body/signatures-are-not-displayed-correctly

    Se a resposta ajudou a resolver o problema, por favor marque-a como Resposta Útil. Essa marcação encerra a thread, indica a solução correta e facilita que outras pessoas com a mesma dúvida encontrem a resposta mais rapidamente.

    0 comentários Sem comentários

Sua resposta

As respostas podem ser marcadas como ‘Aceitas’ pelo autor da pergunta e ‘Recomendadas’ pelos moderadores, o que ajuda os usuários a saber a resposta que resolveu o problema do autor.