簡體   English   中英

perl從gmail下載Gmail標頭進行解析

[英]perl Dowload email headers from gmail for parsing

我正在編寫一個Icinga插件,以檢查我們與第三方簽約的smtp服務器是否被列入黑名單。

該服務使用未知數量的smtp中繼。 我需要下載標題的所有“已接收”部分,然后解析它們以獲取SMTP中繼的不同IP。

我正在嘗試使用Mail::IMAPClient ,並且可以對帳戶執行一些操作(登錄,選擇文件夾,搜索消息等),但是我沒有找到獲取整個標頭或標頭部分的方法我需要。

如果需要,我不介意使用其他模塊。

您可以嘗試使用parse_headers函數 根據文檔中的示例,您可以像這樣使用它:

$hashref = $imap->parse_headers(1,"Date","Received","Subject","To");

然后,您將獲得一個哈希引用,該哈希引用將字段名稱映射到對值數組的引用,如下所示:

  $hashref = {
      "Date"     => [ "Thu, 09 Sep 1999 09:49:04 -0400" ]  ,
      "Received" => [ q/
        from mailhub ([111.11.111.111]) by mailhost.bigco.com
        (Netscape Messaging Server 3.6)  with ESMTP id AAA527D for
        <bigshot@bigco.com>; Fri, 18 Jun 1999 16:29:07 +0000
        /, q/
        from directory-daemon by mailhub.bigco.com (PMDF V5.2-31 #38473)
        id <0FDJ0010174HF7@mailhub.bigco.com> for bigshot@bigco.com
        (ORCPT rfc822;big.shot@bigco.com); Fri, 18 Jun 1999 16:29:05 +0000 (GMT)
        /, q/
        from someplace ([999.9.99.99]) by smtp-relay.bigco.com (PMDF V5.2-31 #38473)
        with ESMTP id <0FDJ0000P74H0W@smtp-relay.bigco.com> for big.shot@bigco.com; Fri,
        18 Jun 1999 16:29:05 +0000 (GMT)
        /] ,
      "Subject" => [ qw/ Help! I've fallen and I can't get up!/ ] ,
      "To"      => [ "Big Shot <big.shot@bigco.com> ] ,
  };

那應該在單個數組中為您提供所有Received標頭。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM