in reply to call a script via an email

Sounds like this would be a good job for Procmail, possibly with some perl as well depending on your requirements.

Neil Watson
watson-wilson.ca

Replies are listed 'Best First'.
Re: Re: call a script via an email
by dsheroh (Monsignor) on Jun 13, 2002 at 14:24 UTC
    Just to expand a little on neilwatson's answer, Anonymonk, you've got the problem backwards. More likely than not, you don't want to write a perl program to poll a mailbox for new messages. You'd be much better off hooking something into your mail delivery process (procmail is the most common way to do this under *nix) which can detect relevant messages and call your perl as needed.

    One other thing: I started setting up something like what you describe once, a few years back. I quit just as it was getting to the point of usability because I realized that, with the ease of intercepting and forging email, it would be a major security risk. Consider whether your goal can be achieved without emailing commands around and, if not, be extremely cautious in your perl code. Use taint. Read all the standard precautions for securing CGI code and use them. Make sure you're using taint properly. Then go back over it and make sure you haven't missed anything.

Re: call a script via an email
by hacker (Priest) on Jun 13, 2002 at 15:04 UTC
    You could also use /etc/mail/aliases directly, similar to the way many mailing list applications do, such as Mailman, majordomo and the like. The syntax is easy:
    user@domain.com: "|/path/to/perl/script.pl" # Make sure to run 'newaliases' to regenerate

    There's also Chip Salzenberg's deliver program documented here. There are many native ways which don't rely on necessarily installing core perl modules such as Mail::Audit (tutorial here) and friends. When working on boxes where installing externally available perl modules is not an option (i.e. for paranoid sysadmins), this may be a better alternative (TMTOWTDI).