我正在尝试使用procmail在邮件或附件中提取邮件正文,但我从下面获得了前两个字符:
$http.get("/folder/ofSubroutine.cgi")
.then(function(minutes_results) {
console.log(minutes_results);
var minutes_results_as_array = [];
for (var key in minutes_results) {
if (key != "error") {
minutes_results[key].id = key;
minutes_results_as_array.push(minutes_results[key]);
}
}
// display minutes_results_as_array as you see fit
} );
base64的解码不起作用,要么不匹配整个条件,要么分配:0B
* ^()[a-z]+[0-9]+[^\+]
{ msgID = "$MATCH" }
:0B
* ^Content-Disposition: *attachment.*(($)[a-z0-9].*)*($)($)\/[a-z]+[0-9]+
| base64 --decode
{ msgID = "$MATCH" }
答案 0 :(得分:0)
您不能对单个食谱执行两项操作。你在哪里
:0B
* ^stuff\/more stuff
{ msgid="$MATCH" }
| base64 --decode
第二行是语法错误。我猜你的意思是
:0B
* ^stuff\/more stuff
{
msgid="$MATCH"
:0
| base64 --decode
}
请参阅?如果您需要多个动作,请在另一组食谱周围添加一对大括号(不要忘记最后的结束大括号!)作为动作部分。也许还可以参见http://www.iki.fi/era/procmail/quickref.html
但是在你的情况下,你显然想要解码令牌base64,所以你要找的代码将是
:0B
* ^Content-Disposition: *attachment.*(($)[a-z0-9].*)*($)($)\/[a-z]+[0-9]+
{ msgID=`echo "$MATCH" | base64 --decode` }
另请注意,等号周围不能有空格。并且正则表达式对于任意base64是不正确的;加号和斜杠也是允许的字符之间,最后等于。将\/
后的部分更改为[a-z0-9/+]+=*