问题标签 [sieve-language]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
524 浏览

regex - Sieve 脚本中的正则表达式捕获组

我想将转发到我的主邮箱(来自另一个域)的电子邮件放入特定的子文件夹中。例如:foo@barINBOX/bar/foo

捕获组没有被替换INBOX/${2}/${1},为什么?

0 投票
2 回答
430 浏览

dovecot - 如何用变量中的另一个字符替换一个字符

我想知道是否有办法用变量中的另一个字符替换一个字符。例如,用下划线替换字符串变量中的每个点。

0 投票
1 回答
36 浏览

sieve-language - Sieve 将邮件随机分配到文件夹

我正在使用如下筛选规则对普通邮件中的日志进行排序:

nagios@mail.com现在,如果从to发送一些邮件my@mail.com,可能会出现以下两种结果:

我的问题是邮件将被随机分类为asdfor asdf.logs。我该如何解决这个问题?

0 投票
1 回答
377 浏览

thunderbird - 筛选 addflag "$label1" 在 Thunderbird 中不显示

我正在用筛子过滤我的邮件。我想标记某些消息,以便它们显示在 Thunderbird 中并带有相应的标签。

这些示例表明,在语句中require "imap4flags";后跟 anaddflag "$label1";应该分配第一个标签,这是在 Thunderbird 中定义的——不幸的是,在我的情况下不是这样。

知道这里出了什么问题吗?其他一切都像魅力一样工作。

编辑

最小、完整和可验证的示例:

帐户的筛子脚本如下所示:

我有一个单独定义的标签“Wichtig”:

在此处输入图像描述

我从 flagtest@domain1.tld 向 account@domain2.tld 发送了一封电子邮件。电子邮件已归档到文件夹“IT”中。该电子邮件未标记为“Wichtig”。

此行为已使用 Dovecot 2.2.22 进行了测试。

0 投票
3 回答
1480 浏览

email - 使用 Sieve 将日期标题添加到传入的电子邮件

我正在寻找一种方法在 Sieve 中做一些我多年来在 Procmail 中一直在做的事情,即在传入的消息中插入一个明确的日期标题,这让我很清楚 - 独立于埋藏的“收到”标题可能有多个服务器,但是我的邮件客户端会解释消息的发送日期——我的服务器收到消息的时间。这就是我在 Procmail 中的做法:

我发现“addheader”(RFC 5293)显然会添加一个标题,但由于我读过的其他内容(对不起,不记得在哪里)我相信 Sieve 不会在 shell 中运行“date”命令由于限制或出于安全原因不运行 shell 命令的预期(和可理解的)偏好。

其他可能有用的信息:我正在通过 Roundcube 1.3.6 执行此操作,但我有一种感觉(也是由于我阅读的内容),如果我在 Roundcube 中编辑原始代码,Roundcube 可能会覆盖自定义筛选器集。如有必要,我很乐意直接在服务器上编辑或创建 Sieve 配置文件,以便为服务器上的所有用户实现这一点,但多年来我一直运行 Sendmail 和 Procmail,我不确定执行此操作的最佳位置。

编辑:

作为 Roundcube 中的一个测试,我在我的 Sieve 过滤器组的顶部添加了这个:

我实际上并没有添加行“require [”fileinto“”editheader“];”; 我刚刚在过滤器集顶部的现有行中添加了“editheader”,如下所示:

我希望这会增加...

...对于每条传入的消息,但 Roundcube 不会让我保存它:

Roundcube 错误编辑筛滤器集。

搜索此错误会返回一个相关结果,但未发布解决方案。

但是,我不打算专注于 Roundcube。就像我之前说的,如有必要,我将从命令行添加这个 Sieve 过滤器。

0 投票
1 回答
324 浏览

dovecot - Dovecot Sieve 和:用于执行的输出变量

我正在尝试让吹筛过滤器工作

extprogram在哪里user-verification调用 API 并根据电子邮件地址验证用户,然后返回布尔值(作为控制台的输出)。

if string :matches "${valid_user}" "True"当我以其他看起来无法识别valid_user变量的方式删除语句时,一切正常。

当我通过管道valid_user传输到某个脚本只是为了捕获该变量的值时,它会引发错误:

错误:指定:args 项目“真?” 是无效的。

为什么在这种情况下将问号添加到变量中?

想法?

0 投票
1 回答
93 浏览

dovecot - Dovecot Sieve - 如何检索部分消息作为变量

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

例如,我需要获取之后的内容Final-Recipient: rfc822;并将Original-Message-ID:它们存储为变量

我试图做类似的事情

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

0 投票
1 回答
802 浏览

path - 无法统计筛子存储路径:废话路径

我有一个安装了 postfix 和 dovecot 的邮件服务器。Postfix 被配置为使用 dovecot 的 lmtp 服务以应用一些 sieve 脚本。

到目前为止,这似乎有效。但是,当我的服务器收到发给 ilka 帐户的邮件(与所有其他帐户相同)时,我在 mail.log 中收到了这个神秘的错误:

在 dovecot 的conf.d/90-sieve.conf我实际上声明

那么 dovecot 是如何想出这个包含两个斜杠的奇怪(且无效)文件路径的呢?我敢肯定,我一定是做了一些非常愚蠢的错误配置,但我不知道在哪里......

感谢您的帮助!

问候, 伊尔卡

0 投票
1 回答
381 浏览

html-email - 格式化 Sieve 脚本以包含带有 HTML 的 MIME 的正确方法是什么?

我正在尝试使用 Dovecot Sieve 在服务器上实现自动回复。我已经设法使用简单的 html 生成筛选脚本,但是,当尝试实现更复杂的 html 时,我收到了语法错误。

如何制定筛子脚本以允许更复杂的 html?如何修复语法错误?

:mime 参数应该用引号括起来,我猜这就是它的中断之处。但是我尝试搜索有关如何正确编码脚本的指导,但我找不到任何指导。

例如,此代码有效...

但这并不...

错误消息是

0 投票
2 回答
329 浏览

regex - 来自“已接收”电子邮件标题的正则表达式匹配时间

我正在尝试匹配标题以设置在圆形立方体上的过滤器中。我发现了另一个关于此的问题,我尝试了答案,但它不起作用。

正则表达式在 RegExr 中测试时有效,但 roundcube 只是拒绝保存它。

这是我的正则表达式:\s*(?:Sun|Mon|Tue|Weds|Thu|Fri|Sat),\s*\d+\s+\w+\s+\d+\s+(?:0[12345678]|1[89]|2[0123]):\d\d:\d\d

我在这个答案中找到的,根据我的需要进行了调整:RegEx to match time in "Received: by" e-mail header

它应该在: 之间匹配时间18:00 - 09:00,它确实如此。

我不是正则表达式专家,所以有没有人可以帮助我解决这个问题?