7đź‘Ť
Generally:
1) Set up a dedicated email account for the purpose.
2) Have a programm monitor the mailbox (let’s say fetchmail, since that’s what I do).
3) When an email arrives at the account, fetchmail downloads the email, writes it to disk, and calls script or program you have written with the email file as an argument.
4) Your script or program parses the email and takes an appropriate action.
The part that’s usually mysterious to people is the fetchmail part (#2).
Specifically on Mail Servers (iff you control the mailserver enough to redirect emails to scripts):
1-3) Configure an address to be piped to a script you have written.
4) Same as above.
5đź‘Ť
You should take a look at Lamson; it’ll enable you do what you’ve described, and more besides.
- Pycharm error: Improperly configured
- Django: Implementing a referral program
- Django and models with multiple foreign keys
4đź‘Ť
From your tags, I’ll assume you’re wanting to do this in Django.
There’s an app out there called jutda-helpdesk that does exactly what you’re looking for using poplib, which means you just have to set up a POP3 compatible email address.
Take a look at their get_email.py to see how they do it. You just run this script from cron.
- Django WeasyPrint CSS integration warning: Relative URI reference without a base URI: <link href="/static/css/bootstrap.min.css"> at line None
- <django.db.models.fields.related.RelatedManager object at 0x7ff4e003d1d0> is not JSON serializable
3đź‘Ť
This is an area where the Rails-world is ahead: Rails has built-in support for receiving emails. The mail sever configuration though is probably just the same.
- Django + uwsgi + nginx + SSL
- Django QuerySet object has no attribute 'objects
- Do I need to close connection in mongodb?
2đź‘Ť
To see a working example on how to receive emails in python and process then using django, check this: http://code.google.com/p/jutda-helpdesk/
1đź‘Ť
A common tool used for this purpose is procmail.
You need to set up dedicated email address (which is the “from_email” address in your outgoing email). Then your MTA, such as postfix or qmail, will deliver mail to that address to procmail instead of an actual mailbox.
Procmail can then pass the email on to your python script that can do updates in the app. See standalone django scripts by James Bennett on how to code python scripts that can work with your app.
- Is it possible to stop Django from creating .pyc files, whilst in development?
- How to call asynchronous function in Django?
- How can I create a partial search filter in Django REST framework?
- Is npm in Node like virtualenv in Django?