OL2000: informações para desenvolvedor sobre a atualização de segurança de email do Outlook

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

Neste artigo

Sumário

Este artigo fornece informações para desenvolvedores, provedores de soluções e fornecedores independentes de software (ISVs) sobre a atualização de segurança de email do Microsoft Outlook lançada em 7 de junho de 2000.

Mais Informações

IMPORTANTE: a Microsoft aconselhar estar familiarizado com os recursos básicos da atualização de segurança de email do Outlook antes de ler este artigo. Informações gerais sobre a atualização de segurança de email do Outlook são fornecidas no seguinte site Microsoft:
http://www.microsoft.com/downloads/details.aspx?displaylang=pt-br&FamilyID=96DF48A9-7638-429E-816E-35F16F6528CA
Para obter informações adicionais sobre a atualização de segurança de email do Outlook, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês):
262631 OL2000: Informações sobre a Atualização de segurança de email do Outlook
Este artigo descreve o comportamento do Outlook depois que você aplica a atualização de segurança. Os administradores podem configurar computadores clientes para que eles não contenham nenhuma dessas restrições. Como desenvolvedor, você deve estar familiarizado com as opções administrativas disponíveis nessa atualização de segurança. Para obter informações adicionais sobre como substituir as restrições impostas pela atualização de segurança, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento Microsoft (a página pode estar em inglês):
263297 OL2000: Informações do administrador sobre a atualização de segurança de correio eletrônico do Outlook

Visão geral

A atualização de segurança de email do Outlook oferece níveis adicionais de proteção contra emails mal-intencionados. A atualização afeta diretamente a forma de funcionamento de muitos recursos do Outlook e pode afetar negativamente as soluções criadas por você com os recursos de desenvolvedor incluídos no Outlook e as demais tecnologias do sistema de transmissão de mensagens ou interfaces de programação de aplicativo (APIs). Caso você tenha criado algum tipo de solução usando as tecnologias do sistema de transmissão de mensagens Microsoft, a Microsoft recomenda que você esteja familiarizado com as alterações feitas pela atualização de segurança no Outlook e com a maneira com a qual essas alterações podem afetar a solução. Em alguns casos, as soluções não funcionam; em outros, elas podem acarretar uma mensagem de aviso que interrompe a solução quando você tenta executá-la.

A atualização de segurança altera o Outlook e a funcionalidade geral do sistema de transmissão de mensagens nas seguintes áreas:
  • comportamento geral do anexo (do ponto de vista do usuário final)
  • O modelo de objeto do Outlook
  • outras áreas do Outlook relacionadas à segurança
  • o modelo de objeto Collaboration Data Objects (CDO)
  • Interface de Programação de Aplicação de Mensages Simples , ou MAPI Simples
IMPORTANTE: A atualização de segurança afeta todas as soluções personalizadas que usam o modelo de objeto do Outlook e MAPI Simples, mesmo que elas estejam assinadas digitalmente. Isso inclui o seguinte:

  • formulários personalizados do Outlook publicados em todas as pastas ou bibliotecas de formulários, inclusive na Biblioteca de Formulários Organizacionais.
  • suplementos de COM do Outlook.
  • Visual Basic for Applications do Outlook.
  • qualquer outro tipo de projeto de desenvolvimento que use o modelo de objeto do Outlook ou MAPI Simples.

Alterações de projeto no modelo de objeto do Outlook

Anexos

Anexos com extensões de arquivo Nível 1, ou "Inseguros", não são acessíveis no modelo de objeto do Outlook, especificamente:
  • A coleção Anexos no modelo de objeto não reconhece anexos não seguros.
  • Se você tentar enviar mensagens programaticamente com um desses anexos, elas não são enviadas. Se o programa for escrito nas linguagens de programação C ou C++, você receberá o código de retorno MAPI_E_CANCELLED.
  • Se você tentar abrir um objeto de sistema de arquivo "inseguro" (ou arquivo "freedoc") usando o modelo de objeto do Outlook, você receberá o código de retorno E_FAIL nas linguagens de programação C ou C++. Antes de instalar a atualização, é possível abrir um objeto do sistema de arquivos "não seguro", usando o método Display no modelo de objeto do Outlook.

Item.Send

Ao executar um programa que usa o modelo de objeto do Outlook para chamar o método Enviar, você pode receber uma mensagem de aviso. Essa mensagem de avios diz que um programa está tentando enviar mensagens em seu nome e pergunta se você quer permitir que essa mensagem seja enviada. A mensagem de aviso contém os botões Sim e Não; no entanto, o botão Sim não estará disponível até passarem cinco segundos desde o aparecimento da mensagem de aviso. Você pode dispensar a mensagem de aviso imediatamente se clicar em Não. Quando você clica em Não, o método Send retorna um erro E_FAIL nas linguagens de programação C ou C++.

Acessando Catálogos de Endereços e Destinatários

Se um programa tentar consultar algum tipo de informação do destinatário usando o modelo de objeto do Outlook, é exibida uma caixa de diálogo que pede para você confirmar o acesso a essa informação. É possível permitir o acesso ao catálogo de endereços ou às informações sobre destinatários por até dez minutos após o recebimento da caixa de diálogo. Isso permite que funções como a sincronização com aparelho móvel sejam completadas. Caso opte por não permitir o acesso ao catálogo de endereços ou às informações sobre destinatários, você recebe o código de retorno E_FAIL para todas essas mensagens nas linguagens de programação C ou C++.

Você receberá a caixa de diálogo de confirmação quando uma solução tentar programaticamente acessar as seguintes funções do modelo de objeto do Outlook:
  • a coleção AddressEntries ou qualquer objeto AddressEntry.
  • a coleção Recipients ou qualquer objeto Recipient.
  • as seguintes propriedades de um objeto ContactItem:
    Email1.Address
    Email1.AddressType
    Email1.DisplayName
    Email1.EntryID
    Email2.Address
    Email2.AddressType
    Email2.DisplayName
    Email2.EntryID
    Email3.Address
    Email3.AddressType
    Email3.DisplayName
    Email3.EntryID
    NetMeetingAlias
    ReferredBy
  • as seguintes propriedades de um objeto MailItem:
    SentOnBehalfOfName
    SenderName
    ReceivedByName
    ReceivedOnBehalfOfName
    ReplyRecipientNames
    Para
    Cc
    Bcc
  • as seguintes propriedades de um objeto AppointmentItem:
    Organizer
    RequiredAttendees
    OptionalAttendees
    Recursos
    NetMeetingOrganizerAlias
  • as seguintes propriedades de um objeto TaskItem:
    ContactNames
    Contatos
    Delegator
    Proprietário
    StatusUpdateRecipients
    StatusOnCompletionRecipients
  • o método GetMember de um objeto DistListItem.
  • a propriedade ContactNames de um objeto JournalItem.
  • a propriedade SenderName de um objeto MeetingItem.
  • a propriedade SenderName de um objeto PostItem.
  • a propriedade GetRecipientFromID de um objeto Namespace.
  • o método Execute de um objeto Action.
  • a propriedade Formula de um objeto UserProperty.

Item.SaveAs

Ao usar o método SaveAs na gravação de itens no sistema de arquivos, você recebe uma mensagem de aviso do "catálogo de endereços". Isso inclui todos os tipos de itens se tiverem ou não anexos ou conteúdo ativo. Essa alteração foi feita para que não seja possível salvar programaticamente itens em um arquivo e analisá-lo para obter endereços de email.

Send CommandBar Button

Não é mais possível usar o método Execute para clicar programaticamente no botão Enviar da barra de ferramentas do Outlook. Ainda que isso não seja feito comumente em soluções do Outlook, essa mudança foi feita para prevenir intenções maliciosas. Você recebe o código de retorno E_FAIL para todas as outras mensagens nas linguagens de programação C ou C++.

SendKeys

O Outlook não permite o acesso a determinadas caixas de diálogo com o comando SendKeys do Visual Basic ou do Visual Basic for Applications. Isso previne que programas maliciosos dispensem automaticamente as mensagens de aviso e contornem as nova funções de segurança.

VBScript em Formulários Não-publicados Não É Mais Executado

Ao criar um formulário personalizado no Outlook, você pode escolher embutir diretamente o Visual Basic Scriptin Edition (VBScript) em um item. Você pode fazer isso caso os demais usuários não consigam obter acesso a um formulário publicado. Esses tipos de formulários são chamados de "one-forms".

Para obter informações adicionais sobre formulários únicos, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento da Microsoft:
207896 OL2000: Working with Form Definitions and One-Off Forms
Quando você abre um desses itens em uma versão do Outlook que não tem a atualização aplicada, o Outlook exibe uma mensagem de segurança que pergunta se você deseja habilitar ou desabilitar o código no formulário. Quando você usa uma versão do Outlook com a atualização aplicada, ele desabilita o código, não sendo possível ativá-lo. Caso você queira usar um script escrito em VBScript em um formulário personalizado, este deve estar publicado na Biblioteca de Formulários Organizacionais ou em uma pasta pública de um computador do Microsoft Exchange Server. Também é possível distribuir o formulário personalizado e instalá-lo em uma biblioteca de formulários locais de computadores clientes individuais.

Aplicativos do Office são redefinidos para segurança alta

Para ajudar na proteção contra vírus de macro perigosos que podem estar em documentos do Microsoft Office, a atualização de segurança coloca os programas do Office no modo "segurança alta".

OBSERVAÇÃO: para o programa típico do Microsoft Office 97, você é perguntado se deseja executar macros. Para o programa típico do Microsoft Office 2000, as macros não podem ser executadas a menos que sejam assinadas e confiáveis. Caso estejam assinadas e sejam confiáveis, você não é perguntado se deseja executar as macros.

Produtos afetados

  • Somente Microsoft Outlook 2000. O Visual Basic for Applications não estava incluído no Outlook 98.
  • Microsoft Word 2000 e Microsoft Word 97. Por padrão, o Word está no modo de segurança alta no Office 2000.
  • Microsoft Excel 2000 e Microsoft Excel 97.
  • Microsoft PowerPoint 2000 e Microsoft PowerPoint 97.
OBSERVAÇÃO: o Microsoft Access não tem configurações equivalentes para a segurança de macro e, por isso, não é afetado. Portanto, todos os tipos de documentos do Access estão inclusos na lista de extensões de arquivos inseguros que não podem ser acessados.

Outlook e correio HTML

A atualização de segurança coloca o Outlook na "zona restrita" por padrão. Caso você abra um email que esteja no formato HTML e contendo um script, este é executado no contexto das configurações de segurança da Internet.

OBSERVAÇÃO: trata-se da única diferença entre o Outlook 98 e o Outlook 2000. Quando você usa o Outlook 98, o conteúdo ativo é executado enquanto as configurações de segurança estão definidas adequadamente como baixas. Com a atualização de segurança de email do Outlook instalada, o Outlook 2000 desabilita completamente o script nos emails em HTML, independentemente das configurações de segurança da Internet.

Alterações no projeto de MAPI Simples

Quando o Outlook está instalado num computador como o cliente padrão de MAPI Simples, o Outlook processa pedidos feitos usando chamadas de MAPI Simples. Por isso, quando você instala a atualização de segurança de email do Outlook, são feitas alterações na forma de identificação das chamadas de MAPI Simples. Por padrão, caso use muitas funções de MAPI Simples, você recebe uma mensagem de aviso informando que o programa está ou tentando acessar informações sobre destinatários ou enviar emails em seu nome.

A seguinte lista descreve como o Outlook responde a chamadas de MAPI Simples.
Chamada de MAPI Simples   Comportamento se tratado pelo Outlook
----------------------------------------------------------------
MAPIAddress        OK
MAPIDeleteMail     OK
MAPIDetails        OK
MAPIFindNext       OK
MAPIFreeBuffer     OK
MAPILogoff         OK
MAPILogon          OK
MAPIReadMail       Prompt
MAPIResolveName    Solicitar
MAPISaveMail       OK
MAPISendDocuments  OK
MAPISendMail       OK com o argumento MAPI_DIALOG; do contrário, solicitar
Para obter mais informações sobre chamadas de MAPI Simples, consulte o seguinte artigo no site da Microsoft:
http://msdn2.microsoft.com/en-us/library/ms529435.aspx

Alterações no projeto do CDO

A atualização de segurança de email do Outlook 2000 não remove o modelo de objeto CDO caso ele tenha sido instalado anteriormente no computador. Isso difere da atualização de segurança de email do Outlook 98, que remove o modelo de objeto CDO do computador.

O objeto de modelo CDO 1.21 foi alterado para refletir as alterações feitas ao objeto de modelo do Outlook e MAPI Simples. Para obter informações adicionais sobre as alterações de CDO, clique nos números abaixo para ler os artigos na Base de Dados de Conhecimento Microsoft (alguns artigos podem estar em inglês):
268279 OL2000: Informações sobre a atualização de segurança de email do CDO
268372 OL2000: Informações para desenvolvedor sobre a atualização de segurança de email do CDO
Para obter mais informações sobre o modelo de objeto CDO, consulte o seguinte artigo no site da Microsoft:
http://msdn.microsoft.com/library/en-us/exchanchor/htms/msexchsvr_cdo_top.asp

Não há mais suporte para as Common Messaging Calls

Após a instalação da atualização de segurança de email do Outlook, as Common Messaging Calls (CMC) não funcionam mais. A interface CMC é um conjunto de dez funções que lhe permitem adicionar rapidamente recursos do sistema de transmissão de mensagens simples ao programa personalizado. Por exemplo, o programa pode enviar uma mensagem com uma única chamada de função CMC e receber uma mensagem com duas chamadas de função CMC.

Para obter informações adicionais sobre CMC, visite o seguinte site Microsoft (em inglês):
http://msdn2.microsoft.com/en-us/library/ms527945.aspx
Como a Microsoft não pretende implementar novamente essa funcionalidade, é recomendável que você não use CMC nas soluções em sistema de transmissão de mensagens.

Criando soluções com a atualização de segurança

Não existe nenhuma forma direta, programática, de determinar os recursos da atualização de segurança habilitados por um usuário. No entanto, dependendo da solução, é possível que você possa usar uma ou mais das seguintes abordagens para determinar se a atualização de segurança foi instalada.

Determinar o número de compilação do Outlook

É possível determinar programaticamente a versão do Outlook para ver se a atualização de segurança foi aplicada ao Outlook. No entanto, isso não informa diretamente se um um administrador concedeu ao usuário algum recurso de "substituição". O seguinte exemplo código do Visual Basic for Applications do Outlook ilustra como é possível determinar a versão do Outlook instalada em um computador:
Sub CheckForVersion()
   MsgBox UpdateApplied
End Sub

Function UpdateApplied()
   Set ol = CreateObject("Outlook.Application")
   iBuild = Int(Right(ol.Version, 4))
   ' NOTE: The version number format changed between Outlook 98 and 2000
   If iBuild >= 4201 Then
      UpdateApplied = True
   Else
      UpdateApplied = False
   End If
   Set ol = Nothing
End Function
OBSERVAÇÃO: o código não funciona no Outlook 97 porque o Outlook 97 não contém uma propriedade Version no modelo de objeto.

Determinar o local de entrega do email

É possível que você queira verificar se o Outlook está entregando emails para um arquivo de pastas particulares (.pst). Caso o email esteja sendo entregue para um arquivo de pastas particulares, todos os recursos da atualização de segurança estão funcionando. O seguinte exemplo de código de automação do Outlook ilustra como é possível determinar se o email de um usuário está sendo entregue para uma caixa de correio ou um arquivo de pastas particulares.
Sub CheckForPST()
   MsgBox UsingPST
End Sub

Function UsingPST()
   Set ol = CreateObject("Outlook.Application")
   Set oInbox = ol.Session.GetDefaultFolder(6) ' 6 = olFolderInbox
   If InStr(oInbox.Parent.Name, "Mailbox - ") Then
      UsingPST = False
   Else
      UsingPST = True
   End If
   Set oInbox = Nothing
   Set ol = Nothing
End Function

Referências

Para obter informações adicionais sobre a Atualização de segurança de email do Outlook, clique no número abaixo para visualizar o artigo na Base de Dados de Conhecimento da Microsoft:
262631 OL2000: Informações sobre a Atualização de segurança de email do Outlook
262701 OL2000: Informações para desenvolvedor sobre a atualização de segurança de email do Outlook
263297 OL2000: Informações do administrador sobre a atualização de segurança de correio eletrônico do Outlook
262634 OL2000: Problemas conhecidos da atualização de segurança de correio eletrônico do Outlook
264567 OL2000: Problemas conhecidos de configuração da atualização de segurança do correio eletrônico do Outlook
264128 OL2000: Problemas conhecidos de interoperabilidade com a atualização de segurança de correio eletrônico do Outlook
264130 OL2000: Problemas conhecidos de terceiros com a atualização de segurança do correio eletrônico do Outlook

Propriedades

ID do artigo: 262701 - Última revisão: quarta-feira, 21 de fevereiro de 2007 - Revisão: 7.1
A informação contida neste artigo aplica-se a:
  • Microsoft Outlook 2000 Standard Edition
Palavras-chave: 
kbdownload kbinfo KB262701

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