是否可以从多封电子邮件中提取一段文本?

是否可以从多封电子邮件中提取一段文本?

我是一名网站管理员,我们网站的错误报告设置为当发生错误时向我发送电子邮件。

周末我收到了大约 300 多封电子邮件,所有邮件都存在类似的错误。我想从电子邮件中导出仅包含特定部分文本的报告。这可行吗?

以供参考:

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

我想[HTTP_REFERER]'s从电子邮件列表中导出所有邮件的列表。

我想排除这是一次 DDOS 攻击企图。

编辑:我意识到从 PHP 超全局变量中导出它是可行的,但我对它不够熟悉,不知道它是否能满足我的需要。

答案1

  1. 在 Outlook 中,转到“选项”、“自定义功能区”,然后选中右侧窗格中“开发人员”旁边的框以启用功能区中的开发人员选项。

  2. 在功能区上,单击“开发人员”,然后单击“Visual Basic”。

  3. 展开“Project1”并双击“ThisOutlookSession”。

  4. 粘贴此代码:

    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. 运行它(默认热键F5:)

  6. 注意你的即时窗口。

相关内容