Como utilizar o exemplo Rule.dll para criar uma regra de pasta a receber no Visual Basic

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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.

251125
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Sumário
Este artigo descreve como utilizar o exemplo Rule.dll para adicionar um conjunto de regras à pasta a receber de uma caixa de correio. As regras são uma técnica poderosa que pode ser aplicada a várias caixas de correio sem desvantagens associadas com scripts de eventos do servidor.
Mais Informação
As regras que são adicionadas nesta função de exemplo rever todas as mensagens recebidas. Se o assunto da mensagem inclui o palavra "teste", é enviada uma mensagem de resposta e a mensagem original é eliminada.

O Platform Software Development Kit (SDK) inclui um componente COM regras. A documentação no SDK fornece exemplos de utilizar o componente de regras no contexto de uma aplicação de ASP (Active Server Pages). Também pode, no entanto, utilizar este exemplo em aplicações utilizando a biblioteca de objectos de dados colaboração (CDO, Collaboration Data OBJECTS).

Nota O Rule.dll deve ser compilado antes do utilizar. Compilar a biblioteca Rule.dll requer competências em Visual C++ e ultrapassa o âmbito deste artigo. Consulte a documentação listada na secção "Referências" deste artigo para obter mais informações.

Esta função cria três itens na colecção HiddenMessages da pasta a receber:
  • A regra de resposta
  • O modelo para a mensagem de resposta
  • A regra de eliminação
Para executar este programa de exemplo, siga estes passos:
  1. No Visual Basic, crie um novo projecto EXE padrão.
  2. Adicione uma referência à biblioteca do Microsoft CDO 1.21 e para a biblioteca Rule.dll. (É necessário navegar para a localização onde criado Rule.dll.)
  3. Copiar a função seguinte para o módulo de código do formulário predefinido:
    Option ExplicitConst SUBJECT_TO_SEARCH = "Test"Public Function AddReplyAndDeleteRule(ByVal strProfileInfo As String) As LongDim objCDOSession As MAPI.Session                ' CDO Session.Dim objInbox As MAPI.Folder                      ' Folder to set rule.Dim colRules As MSExchange.Rules                 ' Rules collection.Dim objReplyMsg As MAPI.Message                  ' Reply template.Dim objReplyRule As MSExchange.RuleDim objDeleteRule As MSExchange.RuleDim objPropVal As MSExchange.PropVal             ' Property value.Dim objContCond As MSExchange.ContentCondition   ' Condition.Dim objReplyAction As MSExchange.ActionDim objDeleteAction As MSExchange.ActionConst SUBSTRING = 1Const IGNORECASE = &H10000Const ACTION_DELETE = 3Const ACTION_REPLY = 4Const CdoPR_SUBJECT = &H37001EOn Error GoTo Error_Handler' Create and log on to session object.Set objCDOSession = New MAPI.SessionobjCDOSession.Logon , , False, True, True, True, strProfileInfoSet objInbox = objCDOSession.Inbox'Each folder has a Rules collection.Set colRules = New MSExchange.RulescolRules.Folder = objInbox' Create condition for rules.Set objPropVal = New MSExchange.PropValobjPropVal.Tag = CdoPR_SUBJECT  'looks in Subject propertyobjPropVal.Value = SUBJECT_TO_SEARCH 'looks for this string' Create ContentConditionSet objContCond = New MSExchange.ContentConditionobjContCond.Value = objPropValobjContCond.PropertyType = CdoPR_SUBJECTobjContCond.Operator = SUBSTRING + IGNORECASE' Previous line ignores case and other text.' Create reply message and store in HiddenMessages collection.Set objReplyMsg = objInbox.HiddenMessages.Add' Set reply message properties.objReplyMsg.Type = "IPM.Note.Rules.ReplyTemplate.Microsoft"objReplyMsg.Text = "Please do not send messages to this address"objReplyMsg.Update' Create Reply Rule first.Set objReplyRule = New MSExchange.Rule' Set reply action.Set objReplyAction = New MSExchange.ActionobjReplyAction.ActionType = ACTION_REPLYDim vntArgs(1) As VariantvntArgs(0) = objReplyMsg.ID       ' ID of templatevntArgs(1) = objReplyMsg.FolderID ' folder ID of templateobjReplyAction.Arg = vntArgs      ' Set the args' Set other reply rule properties.objReplyRule.Name = "Reply Test"objReplyRule.Condition = objContCondobjReplyRule.Actions.Add , objReplyAction' Add reply rule to rules collection.colRules.Add , objReplyRule' Create Delete Rule object.Set objDeleteRule = New MSExchange.Rule' Create delete action.Set objDeleteAction = New MSExchange.ActionobjDeleteAction.ActionType = ACTION_DELETE' Set delete rule properties.objDeleteRule.Name = "Delete Test"objDeleteRule.Condition = objContCond  'reuse conditionobjDeleteRule.Actions.Add , objDeleteActioncolRules.Add , objDeleteRulecolRules.Update' Wrap up.objCDOSession.LogoffAddReplyAndDeleteRule = 0  'successfulSet objPropVal = NothingSet objContCond = NothingSet objReplyAction = NothingSet objDeleteAction = NothingSet objReplyRule = NothingSet objDeleteRule = NothingSet objReplyMsg = NothingSet colRules = NothingSet objInbox = NothingSet objCDOSession = NothingExit FunctionError_Handler:AddReplyAndDeleteRule = Err.NumberEnd Function
  4. Adicionar um botão de comando para o formulário predefinido e, procedimento de evento (note que tem de alterar ServerName e caixa de correio para os nomes apropriados) clique em Colar o seguinte código ao botão:
    Dim lResult As Long' TODO Change the ServerName and MailBox to the appropriate names.lResult = AddReplyAndDeleteRule("ServerName" & vbLf & "MailBox")MsgBox "Call to function: " & lResult
  5. Execute o projecto e, em seguida, clique no botão de comando. Se a caixa de mensagem apresentar um "0" (zero), o processo de trabalho e as regras foram adicionadas; caso contrário, um valor de erro é apresentado.
  6. Utilizar o Microsoft Outlook ou outro cliente de correio electrónico, envie uma mensagem com o assunto "Test" para a caixa de correio. As regras a caixa de correio irão responder novamente e eliminar a mensagem.
Nota As regras que são adicionadas pelo componente Rule.dll COM não aparecem na interface de utilizador do Outlook; é a única forma manipulá-los através do código. Esta é uma limitação das interfaces COM utilizado para criar regras, não uma limitação do exemplo propriamente dito. Por conseguinte, recomenda-se que todos os testes de ser efectuado numa caixa de correio que criar para este fim.
Para transferir o Microsoft Exchange Development Kit (EDK) 5.5, visite o seguinte Web site da Microsoft:Microsoft já não suporta Microsoft EDK 5.5 com versões posteriores 5.5 do Microsoft Exchange Server.Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
815365Microsoft EDK 5.5 não é suportada em versões posteriores 5.5 do Microsoft Exchange Server
Referências
Para mais informações, consulte os seguintes tópicos da MSDN (Microsoft Developer Network):
Regra

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 251125 - Última Revisão: 02/23/2014 16:21:21 - Revisão: 5.3

  • Microsoft Collaboration Data Objects 1.21
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
  • Microsoft Exchange Server 2003 Software Development Kit
  • Microsoft Exchange Server 5.5 Standard Edition
  • Microsoft Visual C++ 6.0 Enterprise Edition
  • Microsoft Visual C++ 6.0 Professional Edition
  • Microsoft Visual C++, 32-bit Learning Edition 6.0
  • kbnosurvey kbarchive kbmt kbhowto KB251125 KbMtpt
Esta informação foi útil?