
ImapQuickCheck
Source (link to git-repo or to original if based on someone elses unmodified work):
----------------------
ABOUT:
------
ImapQuickCheck is a lightweight systray docking app that checks your IMAP mailboxes for unread messages, similar to Gnome's Mail Notification.
FEATURES:
---------
- lightweight systray application
- GMAIL support through IMAP-SSL (use host:imap.gmail.com and port:993)
- check multiple mailboxes at once
- ability to mark read or delete unread mail from context menu
- animated sytray icon displaying unread mail count information
- displays a detailed mail list when mouse pointer hovers the icon
- pop-up & sound playback upon incoming new mail
- easy IMAP mailboxes setup
- launch external apps from systray such as e-mail client (context menu, double-click, middle-click)
- various configuration options
- translations : english, french
REQUIREMENTS:
-------------
- Qt (I mean Qt4), including sql/sqlite module
- python-pysqlite2
- alsa-utils (optional)
Version 1.3 (2010/01/20)
- ADDED : Mail check process expiration timeout
- FIXED : pysqlite2 is no more required as a dependency. Using python's sqlite3 built-in module instead
- ADDED : make install rules
Version 1.2 (2009/09/10)
- FIXED : another silly bug with sqlite usage
- FIXED : bug with popup message duration
Version 1.1 (2009/09/09)
- FIXED : memory leak with sqlite usage
- ADDED : ability to mark read or delete unread mail from context menu
Version 1.0 (launched 2009/08/23)
Ratings & Comments
42 Comments
It's hard to believe that it's more then 6 years now since I discovered this nice piece of software, and it has worked well ever since. :-) But now I'm facing troubles to make it work with one particular new account: the program does not recognize new mails, but there's also no error message. It's just like the account didn't exist. The only difference between this new account and the old ones is the fact that Seamonkey and Thunderbird tell me that they are using "SSL/TSL" when connecting to the IMAP server, while the old accounts are said to use "SSL" only. Could this really be the source of the problem?
Hello, I installed before imapquickcheck on ubuntu x86 using the .deb and it was wonderfull. Now I have a 64bits computer so I need to compile it but I encountered a problem : Quote: make
g++ -c -pipe -g -Wall -W -O2 -D_REENTRANT -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT -I/usr/share/qt3/mkspecs/default -I. -I/usr/include/qt3 -Ibuild/ -Iui -Ibuild/ -o build/main.o main.cpp
main.cpp:1: fatal error: QApplication: Aucun fichier ou dossier de ce type
compilation terminated.
Quote:locate QApplication
/usr/include/qt4/QtGui/QApplication
Can you help please ?
I figure it out! I had to enter Quote: qmake-qt4 ImapQuickCheck.pro PREFIX=/usr instead of Quote: qmake ImapQuickCheck.pro PREFIX=/usr like indicated in teh README.txt
It works perfectfully! (Even if there was still errors after make install :) Quote:aymeric@aymeric-K42F:~/Téléchargements/Progs/imapquickcheck-1.3$ sudo make install
install -m 755 -p "imapquickcheck" "/usr/bin/imapquickcheck"
strip "/usr/bin/imapquickcheck"
install -m 755 -p /home/aymeric/Téléchargements/Progs/imapquickcheck-1.3/imapquickcheck.desktop /usr/share/applications/
strip /usr/share/applications/imapquickcheck.desktop
strip:/usr/share/applications/imapquickcheck.desktop: File format not recognized
make: [install_desktop] Erreur 1 (ignorée)
install -m 644 -p /home/aymeric/Téléchargements/Progs/imapquickcheck-1.3/ts/imapquickcheck_de.qm /usr/share/imapquickcheck/translations/
install -m 644 -p /home/aymeric/Téléchargements/Progs/imapquickcheck-1.3/ts/imapquickcheck_fr.qm /usr/share/imapquickcheck/translations/
install -m 644 -p /home/aymeric/Téléchargements/Progs/imapquickcheck-1.3/ts/imapquickcheck_it.qm /usr/share/imapquickcheck/translations/
install -m 644 -p /home/aymeric/Téléchargements/Progs/imapquickcheck-1.3/ts/imapquickcheck_pl.qm /usr/share/imapquickcheck/translations/
install -m 644 -p /home/aymeric/Téléchargements/Progs/imapquickcheck-1.3/ts/imapquickcheck_pt.qm /usr/share/imapquickcheck/translations/
install -m 644 -p /home/aymeric/Téléchargements/Progs/imapquickcheck-1.3/ts/imapquickcheck_ru.qm /usr/share/imapquickcheck/translations/
install -m 644 -p /home/aymeric/Téléchargements/Progs/imapquickcheck-1.3/ts/imapquickcheck_sp.qm /usr/share/imapquickcheck/translations/
Hi, Thanks for this wonderfull mailchecker. I'm using it over 6 months now and it does the job quite well. However since yesterday i see this error message: "communication problem [fetch]" with one of my accounts in imapQuickCheck. I did not change anything and also i can still access the account with my mailreader and read my mail. Only ImapQuickCheck seems to have a problem accessing the mail. I tried cleaning up the mailbox but that did not help and i also tried making a new account in ImapQuickCheck which also did not help. I do have another account in ImapQuickCheck on the same imap-server with same settings (except accountname and password) and that one is working like a charm, i do not see the error there. my version of imapQuickCheck: v1.3 Do you have any idea how i solve this? Thank you, Tom
Hi Pretty strange I would say. Which imap server are you using ? Can it be accessed through SSL as well ? Maybe the imap server has temporary problems. It will be probably better in a few days. ImapQuickCheck uses Python's imap libraries to retrieve info from imap servers, and maybe it has problems getting info from slow answering ones. I personally also may encounter the "fetch error" from time to time, but it rarely lasts long. It seems to affect particular servers more than others. Note this is note a "log-in error", proving that ImapQuickCheck is connected to the server but cannot retrieve info. To me, this is a Python problem. Note as rock solid as it should be. regards/
Thanks for your quick reply:) I am using a local (on my wired network) imap server with Dovecot v1.2.9 and i am accessing the accounts through SSL. The server does seem to be working ok since i can access the mail on the server with my mailreader (also through ssl) and my other ImapQuickCheck account accessing the same server is also working as expected. In the imap-server logs i can see that indeed the login and logout is working but i do not get any errors or warnings about accessing the mail. The logs look the same for the working account and the account with the error message. Is the pythoncode you are using open source? Maybe i can look into it and see what is going on. I will try some other settings to see if it helps. If i find the solution (or it starts working again magicly :) ) i'll post a message. Regards, Tom
Yes the python code is open source. The .py file can be found under : ~/.config/ImapQuickCheck/ Warning : as far as i remember, you need to recompile ImapQuickCheck with the modified python file in order to use it. cheers
Ok, found the python file and also found the bug: in one of my mails the subject includes the Euro sign "€". This gets translated to an HTML entity with codepoint2name in the htmlentities function. For the Euro sign there is no translation and a key exeception occurs in codepoint2name[ord(c)] The "Fetch" error message gets displayed because that is the only error message in the " RETRIEVE UNSEEN MESSAGES DETAILS " code but the retreiving is actualy ok. A solution is to replace this line (in htmlentities): result.append('&%s;' % codepoint2name[ord(c)]) with this code: if ord(c) in codepoint2name: result.append('&%s;' % codepoint2name[ord(c)]) else: result.append(c) This works for me. I tried all this from the console by just executing the edited pyhon file. I did not try to recompile ImapQuickCheck with this file since i dont know how to do that. Have to find that out yet. Regards, Tom
Compiled it from the source now too with the new python code:)
Seems i was premature with my comments. It was not the euro sign in the message wich caused the problem. I thought it was because that was the only char in the email subject i could see but in fact it was a control char (char 128) which caused the error. I now use this code in the function htmlentities: if ord(c) in codepoint2name: result.append('&%s;' % codepoint2name[ord(c)]) (left out the else part from my previous comment) so no 'strange' chars get included. I'm not sure now if the code really should be changed since the email seemed to be malformed. It also had no date in the header and that caused problems aswell in the python code (I changed that also to return 01-01-1970 if there is no date). But simply marking the message as 'read' solved all problems in the unmodified ImapQuickCheck. Sorry for any trouble i may have caused..... Tom
I was told about this application and straight away I fell in love with it. :-) One suggestion, though: could you include support for monitoring the local mail spool, please? Right now, you either need to start a second program to check local mail or you need to start some local IMAP server to enable your application to check the local mail. I can assure you that the second possibility is working very well, at least on my machine, but there are cases in which one only has limited rights and is not allowed to install anything.
I've just created one: http://aur.archlinux.org/packages.php?ID=33837 Thanks for this great app :)
by xtekhne on: Dec 31 2009 I managed to print out the traceback (here enclosed) from sys.exc_info(). but output is unclear to me. Can you draw any useful informations? Thank you ---P ---- enc ('KeyError', '<no args>', [' File ".config/ImapQuickCheck/imap_check_sql_final.py", line 159, in imapMailboxChecker\n mailArray.append( [ extractDataNew(mesginfo[0][1], _keys_new[0]),\n', ' File ".config/ImapQuickCheck/imap_check_sql_final.py", line 91, in extractDataNew\n return htmlentities( filterHTML( _data[(_start+len(_currentKey)):_end].strip() ) )\n', ' File ".config/ImapQuickCheck/imap_check_sql_final.py", line 55, in htmlentities\n result.append(\'&%s;\' % codepoint2name[ord(c)])\n']) sys.exc_info() <type 'exceptions.KeyError'> ------ enc enc Hi, this looks like a character encoding problem, which is hell in python. The function that is supposed to solve the problem is the one that appears to be failing here. I don't have a clue, since you have one mailbox that does not meet this problem. And I don't have personnally the problem with 4 different mailboxes. At this point I do not have enough stuff to identify the source of the problem.
I successfully compiled imapquickcheck, yet it never notifies about unread mail. Clicking 'check now' pops up a panel reading: "Unread mail found in the following accounts: Mail preview" I am using kde 4.4beta2 and i am trying to connect to connect to my gmail account. Maybe anything is wrong in filling in the account form? Here is my guess: Name: <Any title> Protocol: IMAP SSL Host: imap.gmail.com User: <my account>@gmail.com Password: <my password> Is that correct? Thank you ---P
First of all, you can skip the "@gmail.com"-part in the user box. Second, gmail uses port 993, so check if you have the right port set. You should check the non-standard port box and type '993' beside it. That should do it.
First of all, you can skip the "@gmail.com"-part in the user box. Second, gmail uses port 993, so check if you have the right port set. You should check the non-standard port box and type '993' beside it. That should do it.
I successfully compiled imapquickcheck, yet it never notifies about unread mail. Clicking 'check now' pops up a panel reading: "Unread mail found in the following accounts: Mail preview" I am using kde 4.4beta2 and i am trying to connect to connect to my gmail account. Maybe anything is wrong in filling in the account form? Here is my guess: Name: <Any title> Protocol: IMAP SSL Host: imap.gmail.com User: <my account>@gmail.com Password: <my password> Is that correct? Thank you ---P
I successfully compiled imapquickcheck, yet it never notifies about unread mail. Clicking 'check now' pops up a panel reading: "Unread mail found in the following accounts: Mail preview" I am using kde 4.4beta2 and i am trying to connect to connect to my gmail account. Maybe anything is wrong in filling in the account form? Here is my guess: Name: <Any title> Protocol: IMAP SSL Host: imap.gmail.com User: <my account>@gmail.com Password: <my password> Is that correct? Thank you ---P
I successfully compiled imapquickcheck, yet it never notifies about unread mail. Clicking 'check now' pops up a panel reading: "Unread mail found in the following accounts: Mail preview" I am using kde 4.4beta2 and i am trying to connect to connect to my gmail account. Maybe anything is wrong in filling in the account form? Here is my guess: Name: <Any title> Protocol: IMAP SSL Host: imap.gmail.com User: <my account>@gmail.com Password: <my password> Is that correct? Thank you ---P
I successfully compiled imapquickcheck, yet it never notifies about unread mail. Clicking 'check now' pops up a panel reading: "Unread mail found in the following accounts: Mail preview" I am using kde 4.4beta2 and i am trying to connect to connect to my gmail account. Maybe anything is wrong in filling in the account form? Here is my guess: Name: <Any title> Protocol: IMAP SSL Host: imap.gmail.com User: <my account>@gmail.com Password: <my password> Is that correct? Thank you ---P
Hi xtekhne, I just checked with a gmail account of mine (which I haven't been using for a long time) and ... it works ! It should work for you too, provided you have all the dependencies required (Qt4 including sql/sqlite module and python-pysqlite2). The settings you use look correct (protocol : Imap SSL / host : imap.gmail.com) except for the user : remove the '@gmail.com' at the end. What distro do you use ? Regards/
I think i have those libraries. Here is what is reported by dpkg: ii libqt4-sql-sqlite 4:4.6.0-1ubuntu3~karmic1~ppa1 Qt 4 SQLite 3 database driver ii libsqlite3-0 3.6.16-1ubuntu1 SQLite I am using kubuntu with kde4.4beta2 I have fixed the 'user' field according to your suggestion. Launching from konsole: $ imapquickcheck SQL database opened successfully No more lines are printed out. Is there a way to force imapquickcheck to log more inforrmations? Thank you ----P
Hi, I also have Ubuntu Karmic and it works fine. Check you have all these dependencies installed : python-sqlite python-pysqlite2 libqt4-sql libqt4-sql-mysql libqt4-sql-sqlite libqt4-sql-sqlite2 Normally, libqt4-sql-sqlite2 and python-pysqlite2 should be enough. You may also launch the python script in a terminal and see what it says. It is located in /home/<MyUserName>/.config/ImapQuickCheck/imap_check_sql_final.py Also check in your account settings that port 993 is used (it should be by default). There is no more, I guess, I could do to help you ! Good luck
Installing python-sqlite python-pysqlite2 libqt4-sql-sqlite2 things have improved. Three gmail accounts have been added, say user1, user2 user3. - User2 works - User1 fails due to error in 'fetching' What kind of error might it be? I have tried several times, same result - User3 fails due to 'login', although i am rather sure id and password are correct. I have deleted and added the account again, yet no go. Any 'ghost characters' that may have crept in? Thank you ---Pol
Well, I have four imap accounts refreshed every five minutes, and everything goes fine as long as the imap servers work allright. The FETCH error means that the imap server was asked to retrieve unread mail, and that something went wrong doing that. This should not happen in the imap server is ok. The LOGIN error means that the server rejected the login/password pair. If it works for one account, it should do as well for the others. One last thing that can be done is to check the contents of the database ('accounts.db') located in the folder where the python script was, and look for 'ghost characters' or something strange else. regards