【发布时间】:2020-01-30 16:35:14
【问题描述】:
自动保存电子邮件附件以映射到 qmail 和 Reformime
我正在尝试使用 dot-qmail 文件将附件自动移动到另一个位置。
我的 .qmail 文件
#------------------------------------------------------------
| condredirect pdf-junkmail headermatch 'X-Spam-Status: Yes'
| reformime -X /bin/sh -c "if [ "\${FILENAME#*.}" == "pdf" ]; then cat > /home/users/name/home/$(date +%Y%m%d)_\$FILENAME; fi"
# Forward not set
# Vacation Message not set
./Maildir/
这适用于带有一个附件的简单邮件。我的问题:
- 如何将属于此附件的邮件也移动到名为“完成”的邮箱中。
- 上述命令不适用于一封邮件中的多个附件?如何调整这条线以适用于多个附件?
- 如果文件名包含多个点,例如“how.areyou.pdf”,则此方法不起作用
感谢您的帮助
【问题讨论】:
-
您对
-c shell commands的引用是错误的,并且您的==比较不适用于POSIXsh。文件扩展名提取需要两个锐角##,否则它不会抓取*的最长匹配,并且当文件名中有多个点时将无法工作。从变量形成字符串时需要引号。这是一个固定版本:| reformime -X /bin/sh -c 'if [ "${FILENAME##*.}" = "pdf" ]; then cat > "/home/users/name/home/$(date +%Y%m%d)_\$FILENAME"; fi'
标签: bash email pdf attachment qmail