首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >procmail:在保存Maildir格式消息的同时,让procmail排除主机名

procmail:在保存Maildir格式消息的同时,让procmail排除主机名
EN

Stack Overflow用户
提问于 2020-10-17 05:02:28
回答 1查看 74关注 0票数 0

如何让procmail将消息保存在我的Maildir文件夹中,但不包括文件中的主机名(消息名)?我在我的新/子文件夹中得到以下消息名:

代码语言:javascript
复制
  1464003587.H805375P95754.gator3018.hostgator.com, S=20238_2

我只想去掉主机名。使用procmail可以做到这一点吗?多么?另外,是否可以用时间发送的时间戳代替第一次时间戳?是否可以规定邮件的格式?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-17 06:52:51

不,您不能覆盖Maildir的文件名格式,尤其是因为出于互操作性的原因,它被指定为特定的方式。当多个主机上的多个代理同时写入相同的消息存储时,该格式保证对冲突具有鲁棒性。只有当它们都遵循相同的规则时,才能正确工作。这些规则的一个明显的部分是规定,代理运行的主机名必须包含在每个新消息的文件名中。

文章对该格式的设计和历史有很好的概述,当然还有到权威标准和其他主要来源的链接。

如果您不特别需要Maildir兼容性(与tmp / new / cur子目录等),您只需在每次运行时创建一个唯一的mbox文件;如果可以保证它是唯一的,则在写入它时不需要锁定。

例如,如果您有一个名为uuid的工具,它可以在每次调用中生成一个有保证的唯一标识符,您可以很容易地使用它作为文件名;

代码语言:javascript
复制
:0  # or maybe :0r
`uuid`

如果您真的认为可以为并发交付创建自己的解决方案,那么应该很容易看到如何提供您自己的工具。(Maildir解决了并发和分布式交付,因此对此的要求更加严格。)

Procmail支持的其他格式对于文件名的生成有自己的硬编码规则,尽管简单的MH文件夹格式(基本上是递增的)消息号作为文件名也是值得研究的。旧迷你-常见问题解答简要概述了支持的格式,以及如何选择Procmail在每个菜谱中使用的传递方式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64399179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档