Dovecot Sieve - 如何将消息的一部分作为变量检索

杰克刀

我需要检索消息的某些部分,看起来像

Subject: Test message
Message-Id: <[email protected]>
Mime-Version: 1.0
Content-Type: multipart/report; boundary="----=_Part_fba0c199dfcd4d60ae506b37a6320a84"; report-type=notification
To: [email protected]
Date: Mon, 17 Sep 2018 16:21:45 -0400 (EDT)
From: [email protected]


------=_Part_fba0c199dfcd4d60ae506b37a6320a84
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

BTW, this is the correct notification ... it should be "failed" not "failure".
------=_Part_fba0c199dfcd4d60ae506b37a6320a84
Content-Type: message/notification
Content-Transfer-Encoding: 7bit

Final-Recipient: rfc822; [email protected]
Original-Message-ID: <[email protected]>

------=_Part_fba0c199dfcd4d60ae506b37a6320a84—

对于一个例子,我需要抓住的是后Final-Recipient: rfc822;Original-Message-ID:,并将它们存储作为变量

我试过做类似的事情

if body :raw :contains ["Original-Message-ID:"] {
  set "Original-Message-ID" "${0}";
}

但是变量设置为Original-Message-ID不包含消息中它后面的内容。

杰克刀

发现 body 测试肯定不适用于匹配变量:

https://tools.ietf.org/html/rfc5173#section-6

与“body”一起使用的通配符表达式不受 [VARIABLES] 中描述的副作用的影响。也就是说,他们不得将匹配变量 (${1}, ${2}...) 设置为与匹配模式中的通配符序列对应的输入值。

MIME Sieve 扩展可能会提供所需的https://tools.ietf.org/html/rfc5703pipe消息到脚本并在那里处理它,我在我的情况下所做的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Dovecot Sieve 和 :output 执行变量

使用SQL数据库存储Dovecot Sieve脚本

将邮件从centos上的dovecot迁移到debian上的dovecot

将QMap的一部分作为QVector

将Canvas的一部分作为位图

Angular-如何将应用程序的一部分作为辅助独立版本输出

将nginx url的一部分作为“变量”?

如何获取html标记的一部分作为变量

如何将测试作为 bash 字符串的一部分作为可执行命令执行?

将命令字符串的一部分作为变量存储在bash中

使用GLTF的一部分作为InstancedMesh

代码的一部分作为模板参数

获取当前网址并将其一部分作为变量传递

python:使用字典键的一部分作为字典值的变量

使用类名称的一部分作为.addClass的变量

如何通过后缀和dovecot轻松记住TLS选项?

如何使用javamail和postfix / dovecot发送邮件

如何在dovecot中授予接收邮件的权限?

如何获得postfix和dovecot连接到外部域?

是否可以将向量的一部分作为向量发送给函数?

无法将 std::array 的一部分作为模板引用类型参数传递

将vuex存储的一部分作为操作的负载分发是正确的吗?

将字符串的一部分作为代码pandas/python 执行

ReactJS - 将 onClick 函数的一部分作为来自父组件的道具传递

shell为什么将$(<file)输出的一部分作为命令处理?

将数组的一部分作为函数参数传递

Dovecot无法找到包裹dovecot

如何创建仅以列的一部分作为索引的数据透视表?

如何使用数组值的一部分作为新数组的键?