gpt4 book ai didi

email - Nifi Email ConsumeIMAP 按主题、从、到和日期过滤

转载 作者:行者123 更新时间:2023-12-01 07:28:37 25 4
gpt4 key购买 nike

使用 ConsumeIMAP 从收件箱中读取电子邮件并尝试仅选择具有- 下载附件- 发送“来自”xyz@yahoo.com- 发送“至”abc@gmail.com- 在他们的主题中有“每日”- 美国东部时间上午 8 点

如果可以在任何组件中设置,请告诉我。我尝试使用 EvaluateJsonPath、ExtractEmailHeaders 和 RouteonAttribute,但还没有成功。

最佳答案

听起来您一直在探索正确的道路。您应该能够使用包含以下内容的流程来实现此目的:

ConsumeIMAP >> ExtractEmailHeaders >> RouteOnAttribute

ConsumeIMAP将从电子邮件服务器下载消息并为每条消息创建一个 FlowFile,将电子邮件消息的原始字节存储在 FlowFile 内容中。

ExtractEmailHeaders尝试将 FlowFile 的内容解析为电子邮件(必须是 RFC-2822 compliant ),提取电子邮件 header ,并将每个 header 字段写入 FlowFile 属性,包括:

  • email.headers.from.*
  • email.headers.to.*
  • email.headers.subject
  • email.headers.sent_date

请注意,ExtractEmailHeaders 没有进行任何过滤,只是根据 FlowFile 内容填充 FlowFile 属性,从而使 FlowFiles 更容易在流的下游路由。首先创建一个包含这两个处理器的流,并验证 ExtractEmailHeaders 处理器的输出是否满足这些预期。如果不是,则电子邮件可能格式不正确或不符合 RFC-2822。

通过 ExtractEmailHeaders 成功发送电子邮件 FlowFiles 后,您可以使用一个或多个 RouteOnAttribute 进行过滤使用 NiFi Expression Language 的处理器定义您的匹配条件,例如:

${email.headers.subject.contains("Daily")}

如果您已通过 ExtractEmailHeaders 验证您的流程正常工作,但 RouteOnAttribute 中的过滤未按预期工作,请确保您的属性表达式和关于电子邮件的假设 header 值(例如,大写、日期时间格式)是正确的。咨询Apache NiFi Expression Language Guide如果您有与表达语言本身相关的具体问题,请在此处搜索或专门发布另一个问题。

希望对您有所帮助!

关于email - Nifi Email ConsumeIMAP 按主题、从、到和日期过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45927852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com