Você está offline; aguardando reconexão

Correcção: mensagem de erro "Falha de envio de emails" ao enviar uma mensagem de email usando um aplicativo baseado no.NET Framework 4. 0, que usa a classe "System.Net.Mail.SmtpClient" se o anexo de email for maior que 3 MB

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 2183292
Sintomas
Considere o seguinte cenário:
  • é executar um aplicativo baseado no .NET Framework 4. 0. Esse aplicativo usa oSystem.Net.Mail.SmtpClientclasse para enviar mensagens de email.
  • Você adiciona um anexo que satisfizer as seguintes condições para uma mensagem de email.
    • OTransferEncodingpropriedade no anexo não foi especificada. Ou, oTransferEncodingpropriedade está especificada comoNa Base 64ouDesconhecido.
    • O tamanho do anexo é maior que 3 MB.
  • Você pode enviar a mensagem de email.
Neste cenário, umSystem.Net.Mail.SmtpExceptionexceção e umSystem.IndexOutOfRangeExceptionexceção interna do são gerados. Além disso, você recebe a seguinte mensagem de erro:
Falha no envio email.
a seguir está a mensagem de erro para a exceção interna:
O índice estava fora dos limites da matriz.
Resolução

Informações sobre o hotfix

Um hotfix compatível foi disponibilizado pela Microsoft. No entanto, destina-se apenas a corrigir o problema descrito nesse artigo. Aplique-o somente nos sistemas que apresentarem esse problema específico.

Para resolver esse problema, o contato ao cliente serviços de suporte Microsoft para obter o hotfix. Para obter uma lista completa dos números de telefone do serviços de suporte ao cliente Microsoft e informações sobre os custos de suporte, visite o seguinte site da Microsoft:Observação:Em alguns casos, taxas cobradas para chamadas de suporte podem ser canceladas se um profissional de suporte da Microsoft determinar que uma atualização específica resolverá o problema. Os custos de suporte normais se aplicarão a perguntas de suporte adicionais e problemas que não se qualificam à atualização específica em questão.

Observação:Para baixar esse hotfix, você também pode visitar o seguinte site da Microsoft:

Pré-requisitos

Você deve ter o .NET Framework 4. 0 instalado para aplicar esse hotfix.

Requisito de reinicialização

Não é necessário reiniciar o computador após aplicar esse hotfix, se nenhum arquivo afetado está sendo usado.

Informações de substituição do hotfix

Esta correcção não substitui outros hotfixes.

Informações do arquivo

a versão em inglês deste hotfix possui os atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas na hora universal coordenada (UTC). Quando você visualiza as informações do arquivo, ele é convertido para a hora local. Para saber a diferença entre o UTC e a hora local, use oFuso horárioguia nosData e horaitem no painel de controle.
O arquivo de informações de todas as versões baseadas em x86 do Windows XP, do Windows Server 2003, do Windows Vista, do Windows Server 2008, do Windows 7 e do Windows Server 2008 R2
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
SetupUi.dll10.0.30319.335295,24813-Jul-201006: 36x86
Setupengine.dll10.0.30319.335809,30413-Jul-201006: 36x86
Setup. exe10.0.30319.33578,15213-Jul-201006: 36x86
System. dll4.0.30319.3353,482,44013-Jul-201011: 48x86
O arquivo de informações de todas as versões baseadas em x64 do Windows XP, do Windows Server 2003, do Windows Vista, do Windows Server 2008, do Windows 7 e do Windows Server 2008 R2
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
SetupUi.dll10.0.30319.335295,24813-Jul-201006: 36x86
Setupengine.dll10.0.30319.335809,30413-Jul-201006: 36x86
Setup. exe10.0.30319.33578,15213-Jul-201006: 36x86
System. dll4.0.30319.3353,482,44013-Jul-201011: 48x86
Informações do arquivo para todas as versões com base em IA-64 do Windows XP, do Windows Server 2003, do Windows Vista, do Windows Server 2008, do Windows 7 e do Windows Server 2008 R2
Nome de arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
SetupUi.dll10.0.30319.335295,24813-Jul-201006: 36x86
Setupengine.dll10.0.30319.335809,30413-Jul-201006: 36x86
Setup. exe10.0.30319.33578,15213-Jul-201006: 36x86
System. dll4.0.30319.3353,482,44013-Jul-201011: 48x86
System.Resources.dll4.0.30319.335217,44013-Jul-201006: 36x86
Como Contornar
Para contornar esse problema, use um dos seguintes métodos:
  • Especificar oTransferEncodingpropriedade comoQuotedPrintableouSevenBit. Por exemplo, adicione uma das seguintes linhas de código do aplicativo:
    • attachment.TransferEncoding = System.Net.Mime.TransferEncoding.QuotedPrintable;
    • attachment.TransferEncoding = System.Net.Mime.TransferEncoding.SevenBit;
    Observação:Esse método pode não funcionar em todos os casos, porque oSevenBitcodificação e aQuotedPrintablecodificação pode corromper os anexos e porque oQuotedPrintablecodificação pode ser o dobro do tamanho do anexo.
  • Enviar somente um anexo que for menor do que 3 MB.
Situação
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".
Referências
Para obter mais informações sobre oSmtpClientda classe, visite o seguinte site da MSDN (Microsoft Developer Network):Para obter mais informações sobre oTransferEncodingpropriedade, visite o seguinte site da MSDN:Para obter mais informações sobre a terminologia da atualização de software, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
824684Descrição da terminologia padrão que é usada para descrever as atualizações de software
Mais Informações
Para reproduzir esse problema, execute o seguinte código:
using System.Net.Mail;static void Main(string[] args){    SmtpClient client = new SmtpClient("Your mail server");    client.Credentials = new System.Net.NetworkCredential("User", "Password", "Domain");    MailMessage msg = new MailMessage("Send From", "Send To", "Large Attachment Mail", "Large Attachment - Test Body");     Attachment attachment = new Attachment(@"<attachment file>");     msg.Attachments.Add(attachment);    client.Send(msg);    msg.Dispose();    msg = null;    client = null;}

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 2183292 - Última Revisão: 08/24/2010 09:06:00 - Revisão: 1.0

Microsoft .NET Framework 4.0

  • kbqfe kbhotfixserver kbfix kbexpertiseadvanced kbmt KB2183292 KbMtpt
Comentários
m=document.createElement('meta');m.name='ms.dqp0';m.content='true';document.getElementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?">