脚本帮助 - 解析 /var/spool/mail/user

脚本帮助 - 解析 /var/spool/mail/user

CentOS 5.x | SendMail

嗨,大家好,

有没有一种简单的方法可以从 /var/spool/mail/ 中检索单个消息?我有一个关于一个非常简单的脚本的想法,并且想检查每条消息是否有某些内容。

场景如下:

1) 新邮件到达收件箱。2) 脚本检查特定字符串。3) 如果找到字符串,脚本将检索各种标题信息和电子邮件信息以解决该问题。

我意识到使用邮件过滤器可能是可行的方法,但我希望找到一种方法来使用 shell 脚本来实现这一点,因为我想练习一下。问题是我似乎找不到一种方法来解析或以其他方式隔离单个消息。当我检查 /var/spool/mail/ 时,我看到一个包含多条消息的大文件,并且消息之间没有唯一的分隔符。

答案1

如果你忽略简单的 shell 脚本,几乎每种编程语言都有一个库来解析格式化的邮箱。

当然,如果你四处寻找,你还可以找到很多 POP3 和 IMAP 客户端库。

你还应该能够使用类似进程邮件或者邮件投递过滤您的消息。

答案2

传统的方法是,在收到邮件时使用 MDA(如 procmail)执行此类操作。如果您已经有邮箱,procmail 附带formail(1),它允许您对邮箱中的每封邮件运行程序,并具有过滤和重写邮件头的功能。

相关内容