我想知道我们是否可以通过发送邮件在unix中触发perl脚本。 基本上脚本应检查传入的邮件,然后触发perl脚本。
也可以设置邮件访问权限,例如在我的unix家中读取和保存邮件。
-Thanks
答案 0 :(得分:9)
您可以采取两种基本方法。
前者通常是更好的选择。
答案 1 :(得分:2)
你可以像这样破解:
inotifywait -m /var/mail/$USER | grep --line-buffered MODIFY | while read _unused_; do
#your perl script here
done
说明:它监视/ var / mail / $ USER的变化&在stdout上打印事件。在每个MODIFY事件中,它将触发脚本。
注意:这仅适用于localhost上的unix邮件。不在外部服务器上。
已知错误: 邮件阅读活动也会触发脚本。
答案 2 :(得分:0)
您可以为任何新邮件保留轮询(unix)邮件。
while true; do
echo "\nq" | mail >/tmp/new_mail 2>&1 && /path/to/your/perl_script.pl arg1 arg2 ...
sleep 60
done
如果需要,可以在perl程序中使用/tmp/new_mail
的内容。如果您不需要,可以将mail
输出重定向到/dev/null
。