gpt4 book ai didi

linux - 在 procmail 进程之后/之前清理文本邮件以便打印该邮件

转载 作者:太空宇宙 更新时间:2023-11-04 11:23:27 24 4
gpt4 key购买 nike

我必须清理一些邮件,以便使用 procmail 只打印它们的正文:

:0: # printing mail with bb in the subject to bbprinter
* ^Subject:.*bb
| lpr -Pbbprinter

我应该怎么做?

欢迎任何想法帮助

最佳答案

您的问题在很多方面都没有明确定义。 “干净”是什么意思? “ body ”是什么意思?

如果你的意思是,我怎样才能将 RFC5322 正文而不是 header 发送到打印机,这很简单:

:0b
* ^Subject:.*bb
| lpr -Pbbprinter

请注意 :0 之后的 b 标志,它将操作的范围限制为仅主体。

但是对于 MIME,您实际上通常不需要 RFC5322 正文(即最后一个标题行之后的所有内容),而只是 MIME 多部分消息中的一部分。您需要对要提取的部分进行一些分析,但如果您有分析,那仍然很容易:

:0
* ^Subject:.*bb
| parse-out-preferred-mime-body-part | lpr -Pbbprinter

(我们在这里不使用 :0b,因为适当的 MIME 解析器也需要访问顶级 RFC5322 header 。)

如果您所说的“干净”是其他意思,或者另外,您将必须澄清您的问题,但总体思路类似于

:0
* ^Subject:.*bb
| cleanupbody | lpr -Pbbprinter

哪里 cleanupbody 可以执行任何你所说的“清理”(抹掉脏话?修复常见的拼写错误?或多或少相同的事情?)

最后,总结一下,您基本上可以通过管道传输到任何复杂的 shell 脚本(尽管当它超过几行时,您可能最好将其全部或部分移动到一个单独的脚本中,也许有自己的测试套件)。

:0
* ^Subject:.*bb
| parse-out-preferred-mime-body-part | \
sed -e 's/grammer/grammar/g' -e 's/seperate/separate/g' \
-e 's/definately/definitely/g' | \
lpr -Pbbprinter

关于linux - 在 procmail 进程之后/之前清理文本邮件以便打印该邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16416863/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com