Search Folders para cabeçalhos de e-mail arbitrários no Outlook

3

Eu gostaria de criar uma pasta de pesquisa no Outlook para um cabeçalho de email não padrão. Ou seja, este aqui:

X-Bugzilla-Changed-Fields: Status Resolution

É possível procurar em tais cabeçalhos? Estou usando o Outlook 2007.

    
por dangph 21.11.2013 / 01:16

2 respostas

4

Eu estava tentando fazer o mesmo recentemente e, pesquisando na web, encontrei sua pergunta. Eu também não consegui encontrar nenhuma maneira de usar a pasta de pesquisa para verificar os cabeçalhos. Minha suposição é que os cabeçalhos da Internet não são realmente um "campo de troca", o que significa que não acredito em nenhum email de "intranet" enviado no próprio servidor do Exchange (como o email que você enviou com a foto do gato engraçado [LOLZ!]) seu colega de trabalho ...) tem esses cabeçalhos. Mas aqui está a solução que eu estou usando que estou usando.

Eu configurei uma nova regra no assistente de regras que, ao receber novas mensagens, verifique os cabeçalhos. Se uma string específica for encontrada, atribua a mensagem a uma categoria específica. No meu caso, estou procurando mensagens que vêm do nosso servidor Best Practical Request Tracker, em cada um desses cabeçalhos está a string "RT-ticket:". Se minhas regras encontrarem essa string no cabeçalho, elas atribuem a mensagem a uma categoria que eu criei chamada "RT Tickets". (Eu criei essa categoria sem cor, por isso é menos invasiva.) Posso criar uma pasta de pesquisa que procure mensagens de apenas essa categoria. Etapas extras, mas problema resolvido. Eu fiz isso no Outlook 2007, mas ele deve funcionar em qualquer versão do Outlook que ofereça suporte ao assistente de regras, verificando cabeçalhos e, em seguida, atribuindo categorias.

As desvantagens disso são 1) mais uma regra na minha lista crescente, e 2) se eu quiser aplicar isso aos emails já recebidos, precisarei passar e executar manualmente a regra em relação a essas pastas primeiro. Neste ponto, estou preocupado apenas com as novas mensagens atualmente na minha caixa de entrada ou com as que chegam daqui para frente, para que eu simplesmente defina a regra para ser executada no momento da criação e isso foi resolvido. Um benefício descoberto de usar as categorias é que você pode exibi-lo como uma coluna na sua lista de mensagens. Não tenho certeza se vou mesmo usar as pastas de pesquisa como pretendi, posso apenas classificar minha caixa de entrada por categoria para encontrar as mensagens desejadas.

Se alguém precisar das etapas de criação de uma regra expandida, basta deixar um comentário. Eu esperaria que, no entanto, se alguém é conhecedor o suficiente para estar cavando em cabeçalhos de e-mail na Internet que a criação de uma regra do Outlook seria old-hat. O assistente que eles têm é bem direto.

    
por 05.06.2014 / 00:55
3

Este script do PowerShell pesquisa todos os cabeçalhos na Caixa de entrada por uma correspondência. Pode demorar um pouco para ser executado, dependendo do tamanho da sua caixa de entrada. Algumas advertências se aplicam, não menos do que é um possível processo outlook.exe residual. Isso pode ser eliminado manualmente no Gerenciador de Tarefas ou programaticamente via get-process "outlook" | kill . Supõe-se que você tenha acesso ao PoweShell por causa de sua quase onipresença, no entanto, o sistema operacional em particular que você está usando poderia ter um suporte limitado para isso.

$MatchString = "X-Mailer: YahooMailWebService/0.8.201.700"
Add-type -assembly "Microsoft.Office.Interop.Outlook" | out-null
$namespace = new-object -comobject outlook.application
$MAPI = $namespace.GetNamespace("MAPI")
$Inbox = $MAPI.GetDefaultFolder([Microsoft.Office.Interop.Outlook.OlDefaultFolders]::olFolderInbox).Items
$Headers = '
    foreach ( $MailItem in $Inbox ) { 
        $MailItem.PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x007D001E") 
    }
$namespace.Quit()
$MatchingHeaders = $Headers | where { $_.contains( $MatchString ) }
#sample output
$MatchingHeaders | Select-Object -First 1

Se houver um conjunto de correspondências diferente de zero, algo como o seguinte é retornado.

Received: from q0plumsmtp03-06.purd.phy5.mysrver.net (68.178.213.11) by q0PWrc6HT002.rc6.mysrver.net (148.168.131.21) with Microsoft SMTP Server id 14.2.18.1; Wed, 13 Aug 2014 18:42:57 -0700 [...]

Você pode alterar a atribuição $ MatchString para a string de cabeçalho que está procurando. Se você quiser generalizar a pesquisa usando expressões regulares, o PowerShell torna isso possível também.

    
por 27.09.2015 / 21:02