perl 从 imap 消息中获取所有消息头

2024-03-16

I use Mail::IMAPClient https://metacpan.org/pod/Mail::IMAPClient

有一些变数

$body = $imap->body_string($msg);
$header = $imap->message_string($msg);

$body 包含消息正文,但 $header 包含消息头和正文。我在 IMAPClient 中没有找到仅获取消息头的方法。

我需要从 $header 中删除正文。拆分 $body 和 $header 是不好的变体,因为 body 可能非常大。正文和标题分隔空字符串,但我不知道如何使用它。


请看一下http://gagravarr.org/code/test-imap-headers.pl http://gagravarr.org/code/test-imap-headers.pl

它建议Mail::IMAPClient https://metacpan.org/pod/Mail::IMAPClient包支持/支持“关键字”“ALL”以一次获取所有标头:

my %headers = %{ $imap->parse_headers( $msg, "ALL" ) };
for my $h ( keys %headers ) {
    my @hdrs = @{ $headers{$h} };
    print "$h (" . scalar @hdrs . " entries)\n";
    foreach (@hdrs) { print "\t$_\n"; }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

perl 从 imap 消息中获取所有消息头 的相关文章

随机推荐

  • Python - 从不断变化的文本文件中实时更新图形

    我有一个线程每 2 秒连续写入一个文本文件 Matplotlib 图 实时更新图 引用同一文件 因此 当我启动脚本时 我打开一个图表并在线程上启动文件写入过程 文件正在更新 但我的图表没有更新 只有在文件写入完成后 文件上的数据才会显示在图
  • Visual Studio 2017 Update 3 - 找不到指定的 SDK“Microsoft.NET.Sdk.Web”

    Error C WebApp WebApp csproj 错误 找不到指定的 SDK Microsoft NET Sdk Web C WebApp WebApp csproj 我正在尝试打开 Dotnet 核心项目 但收到上述错误 我已经安
  • 数据库理论-两个表之间的关系

    我有一个包含两个表的数据库 让我们称它们为 Foo 和 Bar 每个 foo 可以与任意数量的 bar 相关 每个 bar 也可以与任意数量的 foo 相关 我希望能够通过一个查询检索与特定 bar 关联的 foo 以及与特定 foo 关联
  • Android USB 配件多线程

    我遇到了由多线程和 Android Open Accessory 引起的问题 我需要与 USB 附件通信 但我需要从 2 个线程进行通信 一个线程生成并发送数据 另一个线程读取数据 为什么我不使用单线程 因为在读取之前可能有 1 次或多次写
  • 使用 Rust 从不同偏移量的文件中读取

    我正在开发一个项目 该项目涉及从不同偏移量的文件中读取不同的信息 目前 我正在使用以下代码 SECTORS PER CLUSTER starts at 13 opened file seek SeekFrom Start 13 unwrap
  • 如果在 javascript 中返回,如何抓取搜索结果(使用 python)

    我想要抓取的网站使用 JavaScript 填充返回 我可以简单地以某种方式调用脚本并处理其结果吗 当然 没有分页 我不想运行整个过程来抓取生成的格式化 HTML 但原始源是空白的 看一看 回报的来源很简单
  • 问:在 rmarkdown html 中的 for 循环中创建传单地图

    我正在尝试在 rmarkdown 文件中创建带有 for 循环的传单地图 这是一个最小的例子 title Test output html document r quakes echo F data quakes library leafl
  • AMP Html 无法在 iphone safari 浏览器上运行以进入新窗口

    最近 我正在使用 Accelerated Mobile Pages AMP 开发渐进式 Web 应用程序 我必须添加锚链接target blank 以便用户单击该链接将被重定向到带有锚点位置的新窗口 a href External Url
  • Angular.js ng-style 不会绑定值

    我在 angularjs 上遇到了问题 即使经过研究 我也找不到错在哪里 我需要重新计算元素的 css 值 left 我正在使用 ng style 指令和一个将返回具有 css 值的对象的方法 这就是 据我所知 我必须做的 但是当我更新值时
  • 项目骑手 - 构建时查看 msbuild 输出

    当我尝试构建解决方案时 我想查看 msbuild 日志 它最初是 Visual Studio 2015 的解决方案 Rider 的输出构建窗口 视图 gt 工具窗口 gt 构建 显示 Microsoft R 构建引擎版本 14 0 2542
  • 使用 git rebase 时自动跳过空提交

    通常 你必须做git rebase skip 如果有一个开关可以自动跳过这些空提交 那就太好了 有人知道怎么做吗 非常古老的话题 但对我来说是搜索引擎上的第一个结果 我终于发现有一个 empty参数可以采用以下值之一 keep drop 和
  • Android 词典应用程序

    我想在字典之上开发一个应用程序 即使用字典作为其一部分的应用程序 市场上有用于此目的的任何字典应用程序吗 遵循 GPL 的应用程序是更好的 还有那些使用本地数据库的应用程序而不是使用网络连接是更好的选择 如果没有 市场上是否有可用的词典数据
  • 使用 Android Studio 将 iTextG 包含在 Android 项目中

    在 Android Studio 中包含 iTextG 时出现以下错误 com android dex DexException Multiple dex files define Lcom itextpdf awt geom Affine
  • GAE/P:API 调用的交易安全

    假设您使用交易来处理 Stripe 付款并更新用户实体 ndb transactional def process payment user key amount user user key get user stripe payment
  • Python:捕获任何异常并将其放入变量中

    为了弄清楚如何避免一些递归 我需要捕获任何异常 编辑 不仅仅是从 Exception 派生的异常 而是所有异常 包括 KeyboardInterrupt 和用户异常 将其放入变量中 然后重新引发它位于 catch 块之外 本质上 我正在尝试
  • 如何使用 mixpanel API?

    我无法连接到 mixpanel 我尝试过使用正确的 api key 和 api secret 如下所示
  • 调度程序 Invoke(...) 与 BeginInvoke(...) 混淆

    我很困惑为什么我不能在 Count 方法中的 Dispatcher 上使用 BeginInvoke 来使此测试计数器应用程序与 2 个 或更多 同时运行的 countertextbox 一起使用 您可以通过将 BeginInvoke 替换为
  • 查找 CMake 的包 Eigen3

    CMake 找不到我的Eigen3包裹 我设置了一个名为的环境变量 EIGEN3 INCLUDE DIR 指向路径所在的位置FindEigen3 cmake is 然后在 CMakelists txt 中我写道 find package E
  • 嵌入式 SurveyMonkey 调查未出现在移动设备上

    我希望将现有的猴子调查嵌入到网页中 请按照此处的说明进行操作 http help surveymonkey com articles en US kb Website Collector http help surveymonkey com
  • perl 从 imap 消息中获取所有消息头

    I use Mail IMAPClient https metacpan org pod Mail IMAPClient 有一些变数 body imap gt body string msg header imap gt message s