É possível arrancar um trecho de texto de vários e-mails?

1

Sou um administrador da web e o relatório de erros de nosso website está configurado para enviar e-mails quando ocorre um erro.

Recebi cerca de 300 emails no final de semana, todos com erros semelhantes. Quero exportar um relatório dos emails que inclua apenas uma parte específica do texto. Isso é factível?

Para referência:

[HTTP_HOST] => www.ourwebsite.com
[HTTP_REFERER] => http://www.refererwebsite.com

Gostaria de exportar uma lista de todos os [HTTP_REFERER]'s da lista de e-mails.

Eu quero descartar que isso foi uma tentativa de ataque DDOS.

Editar: Eu percebo que pode ser possível exportar isso do superglobal do PHP, mas não estou familiarizado o suficiente para saber se ele fará o que eu preciso.

    
por Tiffany 21.11.2016 / 17:18

1 resposta

1
  1. No Outlook, vá para Opções, Personalizar Faixa de Opções e marque a caixa ao lado de "Desenvolvedor" no painel à direita para ativar as opções do Desenvolvedor na Faixa de Opções.

  2. Na faixa de opções, clique em Desenvolvedor e, em seguida, em Visual Basic.

  3. Expanda "Projeto1" e clique duas vezes em "ThisOutlookSession".

  4. Cole este código:

    Sub dragonborn()
    'Declare variables
    Dim fus As Object, ro As Object, dah As String, wuld As RegExp, na As MatchCollection
        'Set up the regular expression defining what you want to look for
        Set wuld = New RegExp
        wuld.Pattern = "HTTP_REFERER\]\s*=>\s*(.+)"
        'Get your "Inbox" mailbox folder for the current open account
        Set fus = GetNamespace("MAPI").GetDefaultFolder(olFolderInbox)
        'Loop through each item in Inbox that's an email
        For Each ro In fus.Items
            On Error GoTo here
            If TypeOf ro Is Outlook.MailItem Then
                dah = ro.Body
                'Attempt to match the email's body against your regex pattern
                Set na = wuld.Execute(dah)
                If na.Count > 0 Then
                    'Print the result to the Immediate Window (View -> Immediate Window) if there's a match
                    Debug.Print na.Item(0).SubMatches(0)
                End If
            End If
    here:
            On Error GoTo 0
        Next
    End Sub
    
  5. Execute (tecla de atalho padrão: F5 )

  6. Assista à sua janela imediata.

por 21.11.2016 / 20:11