我成功重写了我的主题行,在其前面添加了一个 [LIST]:
:0fhw
* ^TO_[^<>@ ]+@example\.com\>
* ^Subject:\/.+
| /usr/local/bin/formail -I"Subject: [LIST]$MATCH"
这会成功并变成:
Subject: here is the subject line
进入
Subject: [LIST] here is the subject line
Bute我还想将用户部分插入[email protected]
主题行,如下所示:
Subject: [LIST] [email protected] here is the subject line
$MATCH
...当我只得到一个变量时,我不明白如何做到这一点!
如何将两个不同的变量插入到formail
重写主题行的单行中?
答案1
从概念上讲,答案很简单:复制$MATCH
到另一个变量。实现仍然会有点蹩脚,因为实际上MATCH
每个食谱只能得到一个。解决方法是使用嵌套配方。
:0
* ^Subject:\/.+
{
subj=$MATCH
:0
* ^TO_\/[^<>@ ]+@example\.com\>
{
user=$MATCH
:0fhw
* user ?? ()\/.+@example\.com
| formail -I"Subject: [LIST] $MATCH $subj"
}
}
\>
最里面的方法是从捕获的变量末尾修剪掉匹配项user
;如果将其包含在主题:行中是可以接受的,那么这显然可以简化。
可能要小心包含/usr/local/bin
在您的中,PATH
这样您就不必将完整路径硬编码到formail
.对它进行硬编码也使得无法出于调试目的而覆盖它。