Checking email with Python

后端 未结 6 1543
心在旅途
心在旅途 2020-11-28 02:06

I am interested to trigger a certain action upon receiving an email from specific address with specific subject. In order to be able to do so I need to implement monitorin

6条回答
  •  天命终不由人
    2020-11-28 02:53

    Gmail provides the ability to connect over POP, which you can turn on in the gmail settings panel. Python can make connections over POP pretty easily:

    import poplib
    from email import parser
    
    pop_conn = poplib.POP3_SSL('pop.gmail.com')
    pop_conn.user('username')
    pop_conn.pass_('password')
    #Get messages from server:
    messages = [pop_conn.retr(i) for i in range(1, len(pop_conn.list()[1]) + 1)]
    # Concat message pieces:
    messages = ["\n".join(mssg[1]) for mssg in messages]
    #Parse message intom an email object:
    messages = [parser.Parser().parsestr(mssg) for mssg in messages]
    for message in messages:
        print message['subject']
    pop_conn.quit()
    

    You would just need to run this script as a cron job. Not sure what platform you're on so YMMV as to how that's done.

提交回复
热议问题