- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个 procmail 配方来过滤收到的邮件,如下所示:
:0
*^Subject:.*(test)
* ? egrep -is -f /root/Procmail/whitelist.txt
{
:0 fwb
| formail -I ""
:0
myfolder/
}
上面的recipe函数是过滤掉邮件的正文内容,将邮件转发到myfolder。问题是我有一个变量要放入体内。
FROM_=`formail -c -x"From " \
| expand | sed -e 's/^[ ]*//g' -e 's/[ ]*$//g' \
| awk '{ print $1 }'`
SUBJ_=`formail -c -x"Subject:" \
| expand \
| sed -e 's/ */ /g' \
| sed -e 's/^[ ]*//g' -e 's/[ ]*$//g'`
此电子邮件正文(连同变量)应转发到 myfolder。
我试过像这样回显变量,但仍然没有用。
:0 fwb
echo "${SUBJ_}"
echo "{FROM_}"
我的食谱有问题吗?谁能帮帮我?
最佳答案
您需要通过管道输入 shell 脚本。在您的例子中,没有前缀的操作将保存到名为“echo”的文件夹。
您还缺少 ${FROM_}
变量上的美元符号。
:0 fwb
| ( echo "${SUBJ_}"; echo "${FROM_}" )
您的作业可能会得到相当大的优化。很少需要将 sed
传输到 sed
或 awk
;如果 sed
无法处理您想要的内容,则让 awk
完成所有工作。
FROM_=`formail -c -x"From " \
| expand \
| awk '{ gsub (/^[ ]*|[ ]*$/,""); print $1 }'`
SUBJ_=`formail -c -x"Subject:" \
| expand \
| sed -e 's/ */ /g' -e 's/^[ ]*//g' -e 's/[ ]*$//g'`
(不知道为什么你需要 expand
在那里,但我把它留下以防万一。)
关于linux - 在 procmail 中打印出变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11010112/
现在在非详细日志中 procmail 没有记录收件人是谁。 它只是记录发件人是谁,主题,日期和交付。 From info@essegisistemi.it Tue Apr 15 20:33:19 2
一个简单的问题: 我想将具有特定主题的电子邮件移动到一个文件夹中,然后将它们标记为已读。搬家对我有用 :0: H * ^Subject:.*(ThisIsMySubject) $HOME/mail/T
我有一个 postfix 服务器和 procmail 安装和工作。 问题是当我尝试将电子邮件的内容输出到文件时。 我有以下脚本: /var/log/user1/fooscript.sh #!/bin/
这个问题已经有答案了: How can I suppress column header output for a single SQL statement? (3 个回答) 已关闭 6 年前。 我使
我在从 procmail 本地传送的传入邮件中运行脚本(perl 和 ruby 失败)时遇到了一个奇怪的问题。 系统是 CentOS 5.5,带有 postfix 作为我的邮件程序,然后设置了一个
我有以下场景: GNU/Linux 机器上的 SMTP 服务器正在接受邮件。已接受的邮件正在发送到 procmail 进行进一步处理。这是我的 .procmailrc: VERBOSE=yes LOG
我尝试使用 procmail 将所有传入电子邮件的副本发送到另一个电子邮件帐户(它们都在同一服务器上,例如 email1 和 email2 帐户)。 我的 .procmailrc 在 email1 帐
我尝试使用这样的规则: :0 B * Something[[:space:]]+whatever 但它不起作用。 当我将 [[:space:]] 更改为文字空格字符时: :0 B * Somethin
我在执行 procmail 配方时遇到了一些问题。 这是我到目前为止得到的: :0 * ^X-Loop: myemail@gmail\.com /dev/null :
我有一个 procmail 配方来过滤收到的邮件,如下所示: :0 *^Subject:.*(test) * ? egrep -is -f /root/Procmail/white
使用 procmail,我想将“收件人”字段中不包含我的姓名(“John Doe”)的任何传入邮件移动到“垃圾”文件夹。 但是,以下规则似乎没有任何效果,即使我已经在在线测试应用程序中彻底测试了正则表
我需要进行邮件处理,在其中处理邮件的内容或在接收电子邮件时调用脚本,以支持许多电子邮件地址作为访问点。在通读MDA代理程序时,procmail似乎是标准的备用数据库,但是maildrop也有一些支持者
示例 procmailrc: SHELL=/bin/bash LOGFILE=$HOME/procmail.log VERBOSE=yes :0 * ^Subject: envdump please$
我必须清理一些邮件,以便使用 procmail 只打印它们的正文: :0: # printing mail with bb in the subject to bbprinter * ^Subject
我正在运行 procmail 配方,它会在我收到特定电子邮件时触发我的一些应用程序。我有整个工作,但现在我需要在配方中建立条件,以免让它一次又一次地运行,以避免同一程序的多个实例,因为我每 10 分钟
我想进行设置,如果我收到电子邮件,应用程序就会自动运行。我的电子邮件和 fetchmail 设置可以正常工作,但我似乎在执行 linux 命令本身时遇到了问题。 这是 Procmail 代码: :0
如何为每封收到的电子邮件强制使用 .procmailrc: 将这封电子邮件留在我的邮箱中,就好像什么都没发生过一样。 通过标准输入将邮件发送给script1.sh 通过标准输入将邮件发送给script
在通过 sendmail 和 procmail 处理入站电子邮件时,我无法将 procmail 日志条目与 sendmail 的邮件日志条目进行匹配。 Sendmail 将 queue-id 发布到日
我正在尝试使用 procmail 对传入邮件运行一些自定义解析,并且想调用 java 程序来使用 |pipe 到 stdin 读取消息的 header 和正文。有很多使用 perl 和 python
我正在尝试进行一些自定义电子邮件转发。 #1 我在共享服务器上,它使用 qmail 和可选的 procmail。 我想要完成的是根据时间表对一个地址进行一些自定义电子邮件转发。例如,我有一个每个工作日
我是一名优秀的程序员,十分优秀!