I have users sending emails with some text I need to extract. Each user’s email is mapped to a single mailbox. I’m currently using a cron job that polls the mailbox (postfix) every 5 minutes, checks for new messages, and sends it to a queue where I have workers parse them. I have two main questions:
- Is there a way I can parse the email as soon as it’s received instead of
polling the server? Also, how could
I implement this to be scalable? For
example, if there are 50 incoming
messages per second. - I’m programatically writing each user’s email address to point to mailbox in the postfix configuration file. Would it be better to create a catch all account, so I don’t have to write each email address? However, I know catch-all accounts are more susceptible to spam.
Use a pipe alias to catch the email, then use celery to dump it into a MQ for processing.