+8 votos
57 visitas

Existe uma tabela que possui um campo do tipo ARQUIVO (Benner.Tecnologia.Common.FileField no BEF).

Como envio o arquivo armazenado nesse campo como anexo de um e-mail utilizando da API de Benner.Tecnologia.Business.MailMessage?

 

por (224 pontos) | 57 visitas

1 Resposta

+6 votos
Melhor resposta

Utilize o seguinte procedimento:

  • Salve o conteúdo do campo em um arquivo temporário
  • Anexe o arquivo temporário ao e-mail
  • Envie o e-mail
  • Apague o arquivo temporário

Código de exemplo:

string anexo = null;

if (entidade.CampoArquivo != null && entidade.CampoArquivo.Name.IsNotNullOrEmpty())
{
    anexo = Path.GetTempPath() + Anexo.Name;
    File.Delete(anexo);

    using (FileStream fileStream = new FileStream(anexo, FileMode.Append))
    {
        entidade.CampoArquivo.Content.CopyTo(fileStream);
        fileStream.Flush();
    }
}

// Envio do e-mail usando Benner.Tecnologia.Business.MailMessage

if (anexo != null)
    File.Delete(anexo);

 

por (109 pontos)
selecionada por

Perguntas relacionadas

423 perguntas
470 respostas
342 comentários
466 usuários