Invoke shell script on receiving mail

Cameron Simpson cs at zip.com.au
Thu Aug 23 21:18:49 UTC 2012


On 23Aug2012 21:20, raj sourabh <rajsourabh1 at gmail.com> wrote:
| I am trying to make a script that does the following:
| 
| * Checks any new mail on my gmail/yahoo account
| * If any new messages - invoke a script on local system ( script will
| generate a number)
| * respond to the mail with this number
| 
| I have tried many things to achieve this did not succeed. If anyone has
| done anything of this kind, Please share your ideas.

I would be inclined to use IMAP to talk to each mail service (to get at
the message list without fetching the message contents). My language of
choice would be Python, both because I like it and because it has an
IMAP library as standard.

There are a whole bunch of issues you need to sort out though: storing
passwords (at a minimum, store then in a separate file with private
permissions i.e. rw-------) and storing the mailbox state - the list of
messages that were present on your last check. A trivial approach might
be to dump all the IMAP message ids to a file as plain text, one per
line. On the next poll, read that file, reread the IMAP list, count new
items and rewrite the file with the current state. Very simple.

Cheers,
-- 
Cameron Simpson <cs at zip.com.au>

I am perfectly capable of cooking myself.       - snail at lsl.co.uk




More information about the redhat-list mailing list