Erro 8004010F "MAPI_E_NOT_FOUND" com CDO 1.x

Traduções deste artigo Traduções deste artigo
ID do artigo: 179639 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Sintomas

Você receberá a seguinte mensagem de erro:
Collaboration Data Objects
[Collaboration Data Objects-[MAPI_E_NOT_FOUND(8004010F)]]
Há várias razões para essa mensagem de erro seja exibido. Este artigo descreve algumas das causas e resoluções para o erro.

Causa

A seguir está uma lista das causas do erro:
  1. Se seu código estiver sendo executado em uma página Active Server Pages (ASP), você pode estar passando um nome de perfil para o método de logon onde o perfil não existe no computador que está executando o Microsoft Internet Information Server (IIS).
  2. Você pode estar tentando usar um recurso que não existe. Esse problema ocorre quando você tenta usar um servidor ou tenta fazer logon uma caixa de correio que não existe. Uma causa comum desse problema é copiando e colando código de exemplo sem modificar as variáveis de servidor e caixa de correio.
  3. Você pode estar tentando resolver um destinatário que não existe.
  4. Ao recuperar elementos da coleção pastas pela declaração de Folders.Item(searchValue) , você pode estar tentando recuperar um item anterior.
  5. Você pode usar o método GetFreeBusy contra um servidor Exchange caixa de correio que não foi registrado em ainda ou que não tem todos os compromissos no calendário.
  6. Enquanto você estiver enviando email no GroupWise, você pode receber essa mensagem de erro ao acessar a caixa de saída ou quando você chama o método Send .
  7. Você pode estar tentando definir o valor de um campo (propriedade) em um objeto do Collaboration Data Objects (1.1, 1.2, 1.21) onde o campo (propriedade) não existe.

Resolução

As seguintes resoluções correspondem causas listadas na seção causa.
  1. Você deve usar o parâmetro ProfileInfo na chamada para o método de logon em vez de um nome de perfil específico. Isso permite que você criar um perfil para o usuário da página ASP programaticamente.

    Você fazer isso porque o usuário não normalmente terão perfis no servidor, e os perfis são provavelmente não será carregado em HKEY_CURRENT_USER a ser localizado por CDO (1.1, 1.2, 1.21).
  2. Verifique seu código para variáveis que são usadas no método de logon do objeto Session . A maioria dos código de exemplo ASP contém uma variável que é chamada strProfileInfo. Essa variável é uma combinação de nome do servidor, uma alimentação de linha e o nome da caixa de correio. Procure as variáveis que definem o servidor e a caixa de correio e verifique se os recursos estão na rede e no computador que está executando o Exchange Server.
  3. Verifique se o destinatário é como especificado. Se você passar um destinatário inválido para CDO (1.1, 1.2, 1.21) em uma página ASP, a única maneira de resolver o problema é novamente o destinatário. Não é possível chamar até o catálogo de endereços no cliente.
  4. Ao recuperar elementos da coleção pastas pela declaração de Folders.Item(searchValue) , tentar recuperar um item anterior.

    A instrução Folders.Item(searchValue) executa uma pesquisa direta. Portanto, se você usar essa instrução para recuperar item dois (2) da coleção de pastas e, em seguida, mais tarde você tentar acessar um item anterior da mesma coleção, você receberá o erro.

    Para contornar esse problema, use o parâmetro índice da instrução Folders.Item . A sintaxe Item(index) retorna a pasta de objeto na posição indicada na coleção.

    Como alternativa, você pode usar o método GetFirst , o método GetPrevious , o método GetNext e o método GetLast do objeto FoldersCollection .
  5. Informações de disponibilidade não estarão disponíveis para uma caixa de correio até que a caixa de correio tenha sido feita no usando um cliente de email e existe pelo menos um compromisso no calendário para a caixa de correio.

    Aqui estão três soluções alternativas para esse problema:
    • Logon-se para a caixa de correio usando um cliente do Outlook para se certificar de que algumas informações de disponibilidade são gravadas para a caixa de correio. Quando você fizer em email pela primeira vez, o Outlook cria um item de compromisso que por sua vez cria informações de disponibilidade.
    • Faça logon para a caixa de correio usando um cliente do Exchange e inicie o Schedule + ou inicie o Schedule + por si só. Isso cria informações de disponibilidade nessa caixa de correio. Você não tem, na verdade, criar um compromisso.
    • Use o CDO (1.2, 1.21) para criar um novo compromisso de teste para que informações de disponibilidade são criadas para essa caixa de correio.
  6. Enquanto você estiver enviando email no GroupWise, você pode receber essa mensagem de erro ao acessar a caixa de saída ou quando você chama o método Send .

    Use o seguinte para resolver o erro:
    • Especificar NoMail: = True na chamada para o método de logon do objeto Session .
    • Verifique se que o spooler do MAPI não está em execução após já ter ao armazenamento de mensagens GroupWise, como com o Outlook.
    Observação Essas soluções alternativas também podem resolver o seguinte outros problemas de envio de email usando o CDO (1.1, 1.2, 1.21) em uma conta GroupWise:
    • A mensagem é enviada, mas texto e os anexos não existem.
    • A mensagem aparece em itens enviados, mas nunca é entregue ao destinatário
  7. Em vez de apenas definir o valor do campo, suponha que o campo não existe. Use o método Add de campos de coleção. Usando o método Add , você pode tanto adicione o campo e definir o valor da seguinte maneira.
    objMsg.Fields.Add &H00150040, 234
    o exemplo de código anterior demonstra adicionando e definindo o valor para o PR_EXPIRY_LIMIT (& H00150040) campo. Nenhum erro ocorrerá se a propriedade já existe.

Referências

Para obter mais informações, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft:
183094Erro CDO (1.x) MAPI_E_NOT_FOUND configuração valor da propriedade
183250Erro CDO (1.x): erro de tempo de execução '-2147221233' com GetFreeBusy
195662Como fazer logon Exchange com o parâmetro ProfileInfo

Propriedades

ID do artigo: 179639 - Última revisão: quarta-feira, 5 de outubro de 2005 - Revisão: 3.1
A informação contida neste artigo aplica-se a:
  • Microsoft Collaboration Data Objects 1.21
  • Microsoft Collaboration Data Objects 1.1
  • Microsoft Collaboration Data Objects 1.2
Palavras-chave: 
kbmt kbcode kbfaq kbgrpdsmsg kbmsg kbole kbpending kbprb KB179639 KbMtpt
Tradução automática
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: 179639
Aviso de Isenção de Responsabilidade sobre Conteúdo do KB Aposentado
Este artigo trata de produtos para os quais a Microsoft não mais oferece suporte. Por esta razão, este artigo é oferecido "como está" e não será mais atualizado.

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com