问题标签 [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 投票
0 回答
45 浏览

email - 如何将 VACATION 自动回复邮件的收件人更改为发件人邮件标题部分 [Reply-to] 中纯粹使用 Sieve 语言的收件人?

我需要设置一个自动回复器,它会发送一条消息,例如“我们收到了您的邮件!我们会尽快回复您”。问题是客户电子邮件的发件人不是客户本身(即customer@privatemail.com),而是一些全球邮件(即customerservice@marketplace.com),在标题部分[Reply-to] 中包含客户私人邮件。

这是安装了 RoundCube 的托管服务器。我只能使用 Sieve 过滤器来创建自动回复。

我需要读取标题 [Reply-To] 部分的值,将自动回复邮件的收件人设置为该值并发送 VACATION 消息。仅在 Sieve 语言中。

0 投票
1 回答
32 浏览

python - 为什么我的脚本不能始终如一地检测电子邮件正文中的内容?

我设置了一个筛子过滤器,当它检测到有关包裹递送的邮政服务电子邮件时,它会调用 Python 脚本。筛子过滤器工作正常并可靠地调用 Python 脚本。但是,Python 脚本不能可靠地完成它的工作。这是我的 Python 脚本,简化为相关部分:

我收到邮件" out for delivery "正文中包含字符串但脚本没有打印出来的电子邮件"It is out for delivery"。我已经检查了消息中的 HTML 以确保它是一致的并且是 100% 一致的。但令人沮丧的是,如果我从我的邮件阅读器中保存应该触发脚本的消息sieve-test,然后手动输入,那么脚本 100% 的时间都有效!

为什么我的脚本在实际邮件传递过程中从不工作,但在我测试它时总是工作sieve-test

笔记:

  1. 电子邮件仅包含一个部分,即 HTML,因此我必须使用 HTML 部分。

  2. 我知道我可以用筛子做身体测试。出于此问题范围之外的原因,我在 Python 中这样做。

0 投票
1 回答
72 浏览

regex - Sieve 给出的前面的正则表达式无效

我正在尝试编写一个与 regex 匹配的过滤器^[a-zA-Z0-9_.+-]+@(?:(?:[a-zA-Z0-9-]+\.)?[a-zA-Z]+\.)?(example)\.com$。(我想捕获来自特定域的每封电子邮件)。但是,它不断返回错误Invalid preceding regular expression。该表达式工作正常,所以我不确定为什么会发生此错误。这是我第一次编写筛子过滤器,所以我错过了什么吗?

0 投票
1 回答
64 浏览

email - 有没有办法将变量设置为 Sieve 中的字符串列表?

我想写一个这样的筛子过滤器:

问题是,RFC和实现(ProtonMail's)都只允许字符串:

Usage: set [MODIFIER] <name: string> <value: string>

是否有任何适当或骇人的方式仍然可以做类似的事情?

0 投票
0 回答
14 浏览

syntax-error - Sieve 语言语法错误帮助“如果附近有分号的标识符”

我正在尝试制作一个筛子电子邮件过滤器来将我的电子邮件过滤到多个文件夹中。对于它,我决定尝试用代码编写它,而不是使用 GUI 来制作过滤器。我仔细地遵循示例并阅读了文档,但是当我进入我的电子邮件客户端使用过滤器时,我在代码的第 8 行收到以下错误:“在 if 附近需要分号的标识符”。我应该如何解决语法错误?

0 投票
1 回答
39 浏览

dovecot - Dovecot Sieve 如何设置邮件 raw_text 变量

我有过滤器

如何使用电子邮件原始文本设置变量

if body :content "text" :matches "*" {set "body_text" "${0}"; # 不工作}

如果正文 :raw :contains "*" {set "raw_text" "${0}"; # 也不起作用} 如何获取电子邮件原始文本