![使用 Munpack 提取特定文件类型的附件 (Debian/Squeeze)](https://linux22.com/image/28381/%E4%BD%BF%E7%94%A8%20Munpack%20%E6%8F%90%E5%8F%96%E7%89%B9%E5%AE%9A%E6%96%87%E4%BB%B6%E7%B1%BB%E5%9E%8B%E7%9A%84%E9%99%84%E4%BB%B6%20(Debian%2FSqueeze).png)
我Munpack
在 Debian/Linux 上配置为从传入电子邮件中提取附件。
(对于其他上下文,Getmail
获取电子邮件并将其通过管道传输到Procmail
。Procmail
然后将配方通过管道传输到Munpack
。)
| munpack -q -C directory/
由于某种原因,当我收到带有(a)内联附件(通常images
)和(b)文档附件(通常.csv
)的电子邮件时,.csv
文件完全被毁了。
(请注意,当只有一个附件(通常是一个.xls
文件)时,不会出现此问题。
有没有办法将 Munpack 配置为:
1. Save **ONLY** attachments with the `.csv` extension in the email.
2. Make sure that the **.csv** files are saved as is.
答案1
不幸的是,您可能必须重写 munpack 以添加解压多个文件的功能。根据 v1.5 源代码附带的自述文件,“每个文件必须只有一条消息。Munpack 无法处理单个文件中的多条消息,为了正确解码,它必须知道一条消息何时结束以及下一条消息何时结束。一开始。”
我不知道重写会有多困难,因为我自己没有看过源代码;我非常乐意在边界上分割文件(使用 GAWK 或 PERL 或类似的东西)。
答案2
我知道我来参加这个聚会有点晚了,所以这个回复是为了未来的访客:以三个版本(vanilla、和)munpack-1.6
发布到 Unix 和 Windows 。a
b
在 Linux 系统上,相应的包管理器文件名可能包含字符串1.6-2
.如果是这样,那么这些版本还支持-t
可以更好地执行附件提取的开关。这里的大问题是这个功能几乎从未被记录过和执行时不可见munpack -?
。
不管怎样,在我的 CentOS-7 系统上我总是使用命令munpack -tf <filename>
。