I want to know if there is anyway I can make an email alert with a balloon popup in the system tray, so far starting with I have made a system tray icon using pyqt that seemed to be simple enough, but I am not finding any starting point for an email alert with specific keyword or to specific email id :-/
Sorry I don't have a solid example to back this up but I would start with either
poplib. Both allow you to login/authorize an email account and check for messages. From there it would be filtering addresses with either
if 'firstname.lastname@example.org' in address.lower(), or a regex expression. I think the steps would be something like this:
Retrieval Stage for IMAP:
#1) Login using provided credentials connection = imaplib.IMAP4('myemailhost.com', 143) # port 143 is default anyway connection.login(USER, PASS) #2) Retrieve messages goodmsgs = connection.list("INBOX", "[optional regex to filter msgs]") #3) Filter messages by email address (may be able to do with while retrieving)
Retrieval Stage for POP3:
# 1) Login using provided credentials: connection = poplib.POP3('pop.myhost.com', 110) # poprt 110 is default anyway connection.user(USER) msgcount, msgsize = connection.pass_(PASSWORD) # another way to get message count: # msgcount, msgsize = connection.stat() # 2) Retrieve messages # retrieve a message (single message in this case) serverresponse, msglines, octects = connection.retr(2)
... if the message is a new one, and is from the right email address, move on to the display stage.
4) Show pop-up with email count/preview
5) Wait 15 minutes (or however long you want)
...I haven't tested all of this, only part of it. But with these two libraries (there may be even better ones out there) you can do what you want. This is just what a quick PyPi search, and
help('poplib'); help('imaplib') turned up. My point is, if you can get a list of messages, filtering them by any keyword will be easy.