GMail POP3 Checker for Greasemonkey and Chrome (Automatically!)

Introduction
I realize this script does not exist anywhere on the internet, and since I wrote this a while back and have been happily using it for quite some time I’ve decided to make it public. It’s quite a simple script. First, it’ll put a “POP3″ link at the very top right corner of your Gmail page. Second, based on what time interval (in minutes) you select (defaults is 8) it’ll automatically run it for you that often. No more of this waiting for Gmail to check it every 60 minutes stuff! If you do not want it to automatically check just set the time interval to None; this way you’ll at least have the link to manually click at any time.
Donate
Did this script change your life? (I like to think so)
Download
Click here to download this fancy script!
Downloading and/or installing this script signifies your acceptance of the Terms of Service.
If you’re feeling generous and appreciate the work I’ve done, and will continue to do, please consider donating (see above).
Please let me know if you have any other feedback pertaining to this script that may come in handy for future releases.
Installation Directions
| Firefox | You will first need to install an Add-on called Greasemonkey. Once this is installed and you’ve restarted Firefox come back to this page and click the download link to my script. A new type of popup will appear asking you to install it. Click “Install” and then refresh Gmail and you’re all set. To later remove or disable the script you can right-click on the Greasemonkey logo in your status bar (it looks like a monkey’s head), click “Manage User Scripts,” select “Gmail Select POP3 Now” and then either un-check “Enabled” or click “Uninstall.” Also removing the Add-on Greasemonkey will permanently uninstall it. |
| Google Chrome | Simply click my download link in this page. A little popup in chrome will appear at the bottom of your page asking if you want to enable/install it. Once you’ve enabled/installed it then refresh Gmail and you’re all set. To later remove or disable the script you can do so from your Extensions section of Chrome. |
| Opera | I personally have never done this but someone contributed a comment a while back with directions on how to do this. Basically you will need to download this Greasemonkey Emulator for Opera and then rename my script (aagmfunctions.js) to “00.gmfunctions.user.js” (or something along those lines). Then in the Opera configurations you need to add “opera:config#UserPrefs|UserJavaScriptonHTTPS” and check the main checkbox to enable it. |
| Internet Explorer (IE) | There is a Greasemonkey for IE executable available which I have yet to test. Theoretically if it’s using the same Greasemonkey library as Firefox you should be able to install it for IE and then include my script. Further installation directions are not provided and I cannot guarantee this will work. If you do discover this does (or does not) work please let me know. |
| Safari | There is a Mac only GreaseKit for Safari (and a couple other platforms) which will emulate Greasemonkey User Scripts. I have never tried this, but feel free to attempt it and let me know what you find out. |
FAQs
- When I view the Settings/Accounts page and click the “POP3″ link it doesn’t tell me it’s checking my mail, why?
The script runs asynchronously in the background and does not manipulate your view. Thus, you will not see the Settings/Accounts page inform you of the update. However, if you click the “View history” link next to any of your accounts appropriately one minute after clicking the “POP3″ link you’ll see that it truly has updated. - Will your script check more than one of my POP3 accounts?
The script will check every POP3 account you have entered into Gmail. - What is the minimum donation to unlock the additional settings?
The minimum donation is currently set to $1, and the average donation is approximately $4. However, no one likes to be average, right?
Change Log
December 13, 2011
- After another update by Google the placement broke, preventing the script from fully loading. This bug has been fixed.
December 9, 2011
- Fixed the misplaced POP3 countdown/text on the new Google header. It should now be located under your name or email.
December 5, 2011
- Required upgrade. If the upgrade doesn’t work in Firefox with Greasemonkey you may have to uninstall the previous version before installing the new one.
- Added support for new Google header.
November 13, 2011
- Fixed a bug where the script would error with missing element “:pn” if the setting for “Refresh” was turned on during start-up in Firefox 8.0.
August 1, 2011
- Fixed a bug introduced by a new version of Gmail which prevented the client side script from loading in Google Apps or non-Google+ Themed templates. This update is not required, but if you’re experiencing problems with your current client version 2/17/2011 loading you’ll want to upgrade. (Thanks Ertugrul)
July 25, 2011
- Fixed a cosmetic text-coloring issue caused by the new Google top-banner strip and other dark themes to better contrast the textual countdown.
February 23, 2011
- Added support to re-check if internet connectivity is lost. You will see the message “Connectivity Lost” and the script with start over at a 3 minute countdown if this happens. This may occur if you put your computer to sleep/hibernate, you enter offline mode, or you actually loose internet or drop wireless. (Thanks Vito E., and Jeff W.)
- Fixed a small cosmetic issue caused by the new Google top-banner strip.
February 17, 2011
- Added support for Gmail’s new top banner strip, but also kept backwards compatibility with Google Apps. This is HIGHLY Beta and may cause cosmetic issues. (Thanks Charles E., Bob, Lachelle, Benjamin N., and Chris)
- Required upgrade from September 25, 2010
November 3, 2010
- Gmail disabled their original user interface, making the script stop POP3ing. I had to change the method it’s using to request for POP3 updates. (Thanks Benjamin N. and Duncan)
October 14, 2010
- Optimized the Refresh setting to be more efficient.
- Fixed an issue where the Refresh setting would “flicker” the compose screen and navigate you to the top of the page. Now refreshes are only done in the background on any of the list pages: Inbox, Sent Mail, All Mail, Trash, etc. (Thanks Nick N. and Adam)
October 12, 2010
- Added full support for all Labs. Some Labs were preventing the POP3 link/counter from appearing or showing correctly; such as “Google Search.” (Thanks John-Paul C., Dave B., Jason S., and Matt V.)
- Fixed a broken link in the Terms of Service.
September 30, 2010
- Changed the mime-type of server requests to text/javascript to prevent warnings in Chrome. (Thanks Dave B.)
September 26, 2010
- Added popup with help information in the event an upgrade cannot be successfully made (Thanks Paul B.)
- Fixed a bug in Chrome caused by today’s earlier release due to a new line character in an alert box which Chrome does not support… Sorry! (Thanks David C., Mark H., and Pootle)
- Added the beta/new/experimental option to Refresh after POP3ing. Please let me know if you run into any issues while using it. (Thanks Daniel M., Dimas, and Halil O. for previously suggesting this feature)
September 25, 2010
- Added HTTPS support to prevent Chrome from throwing SSL Certificate issues (Thanks all who’ve donated as it helped pay for the server certificates)
- Corrected rare cosmetic issues with the header links (Thanks Aaron W.)
- Added Change Log to settings pane
- Fixed a bug implemented by Gmail’s source code which caused the setting’s pane to overtake the window in Firefox
- Required upgrade from September 9, 2010
September 9, 2010
- Added the Settings pane (AWESOME!)
- Request interval (3-60 minutes)
- Display “POP3″ in label
- Display time countdown in label
- Toggle POP3 on startup
- Donation link with toggle
- Reportable errors
- Now works in Google Apps sites! Hooray!
- Runs independently from the normal Gmail site and in as many Apps as you have open
- Displays “POP3 Accounts Missing” if none were found
- Centralizes the code for easy updating without requesting a new download (for most cases)
- Moved POP3 link from the far right to next to “settings”
- Loads instantaneously on slow or fast connections without fail.
- Makes less requests to Gmail to obtain account information.
- Sends out a POP3 request quietly and quickly (less than 1 second).
- Fixed many bugs which were incorrectly gathering the accounts email address needed to POP3 properly.
- Added script stealing preventions to protect the masses; and my reputation (sorry script kiddies).
- Tested stable in Firefox 3.6.9 and Chrome 7.0.503.0 dev
April 3, 2010 [download]
- This is the same exact release as “April 2, 2010 BETA” except I cleaned up the code and removed unnecessary lines of comments. It should now be stable and working properly again.
April 2, 2010 BETA [download]
- Gmail changed their authentication method with making requests to POP3 accounts. I’ve hacked their code once again to update the script accordingly.
- I had to remove the option to use iFrames for the requests as the new method can only be done via the POST method. However, it should still function the same.
February 25, 2010 [download]
- Fixed a very large bug where the number of POP3 accounts you had were miscounted by the script.This should only really affect people with more than 4 accounts, or people with 1. Oh… my silly simple arithmetic skills! (thank you Brad Stinson)
February 24, 2010 [download]
- Fixed a very large bug where if a POP3 account was ever deleted then any future accounts being added would not be checked. This implies any POP3 account deletion ever occurring, not just after my script was installed. If you’ve had problems with previous versions of this script not POP3ing your accounts, this probably will fix it. (thank you Robert/NRHTX).
- Fixed a bug where only accounts marked as “Send email as” would be checked. Now all POP3 accounts will be checked, regardless if you’ve set up Gmail to have the ability to send as themselves (thank you Julien Nephtali).
- Fixed a bug where the “Offline Mode” and “Labs Icon” in the header were not clickable (thank you Jerry Chong and JackieKu).
- Added support for “googlemail.com” accounts, which typically occur for the German, Chinese, and various other languages.
- Rolled back the AJAX cross-domain checking to an injected iFrame.
- Added the variable “useIframe” which will negate the last bullet point, allowing it to use AJAX instead of the iFrames. This should be left to “true” unless you experience issues, then try it as “false.”
February 21, 2010 [download]
- Fixed a huge bug produced by yesterday’s (2/20/2010) update which only let the counter count down once, check your mail, and then never counted again. Anyone who has the 2/20/2010 update should download the new one immediately (thank you emarell).
February 20, 2010
- Fixed a bug where if checkEvery was set to 0 the timer would start counting negative if you clicked the “POP3″ link (thank you Robert/NRHTX).
- Fixed a bug where certain Languages were not supported based on their unique code; such as German (thank you Fred).
- Changed the method of checking POP3 accounts from an injected iFrame to an AJAX call. Reason being that some people were reporting the update working (which uses AJAX), but not the actual checking of the POP3. This issue seems to have been affecting very few people, but hopefully it’s now fixed (thank you Fred and Reed).
February 19, 2010 (a & b)
Sorry! I hate to keep releasing new versions so often, I promise unless something goes drastically wrong this will be the last one for a while.
- Fixed a bug where if checkForUpdates was set to false (defaults to true) it wouldn’t countdown to a POP3 correctly.
- Corrected an issue where when updating a previously installed version of this script it wouldn’t do it successfully.
- Put a sleep buffer on the words “Fetching…” and “Done!” to confirm your POP3 accounts have been checked.
- Fixed a bug where if you had checkEvery set to 0 it would tell you to set it to a number larger than 3. This shouldn’t have happened since 0 should mean for the script to not automatically check.
- Added the variable sendAccountForUpdate (defaults to true) which will send me your account name for contact, update, and bug purposes. I will never share or sell your information in any way, but if something critical happens and the auto update fails this will be my last resort of contact. Otherwise never expect an email from me and the script will continue prompting you for an update if one occurs. If you turn this to false you wont hurt my feelings, but just know you’re limiting yourself from a drastic bug update in the future.
- Fixed a bug where if you had your Gmail settings for the number of conversations on the page changed to anything but three characters (say you selected “25″ instead of “100″) then it would not pull your account settings correctly, thus failing to POP3. (Thanks Chuck for pointing this out!; reason for version ‘b’)
February 18, 2010 (b)
- After today’s release I noticed some gmail images were being referenced from the wrong base url because of the way the script is pulling in your account data in the function findAccountInfo(). This has been corrected.
February 18, 2010 (THIS IS HUGE)
- Fixed a bug where if checkForUpdates was set to false or checkEvery was set to 0 the script would count up instead of have no count.
- Added the showCountdown flag which will allow you to turn the countdown off if it annoys you.
- Corrected a https security issue when checking my server for an update.
- And Probably the greatest improvement of all time: Everything now runs in the background asynchronously and will not navigate to the settings page. Yay! Appreciate this, because you have no idea how deep I had to dig into gmail’s source code to hack out your google identification number and session key to call the “Check mail now” links directly.
- Because everything runs in the background it’ll never tell you that you’re navigating away from a page when composing or replying to a message (which is just awesomeness all over).
- Dropped the default checkEvery time to 8 instead of 10 since it will no longer annoy you when composing a message.
- Added a check to make sure you’re not trying to check faster than every 3 minutes… since I’d LOVE if you didn’t get my script banned by Google.
- I’ve added a “Donate” button to this page (see above) if you’re feeling generous and appreciate the work I’ve done and will continue to do. Don’t feel pressured though!
February 14, 2010 [download]
- Added a count-down to the POP3 link.
- Prevented the script from POP3ing if you’re composing a new message.
February 11, 2010
- Fixed an issue where this wasn’t supported for Google Apps. Thank you Pootle and Ed for catching this!
February 9, 2010
- The bug where either Firefox 3.6 or Gmail’s Greasemonkey support became unstable, preventing this among other scripts to work, has been fixed. This script no longer uses Gmail’s Greasemonkey support.
- Updates were made to have more of an aggressive DOM manipulation.
- The ability for the script to check for updates has been made. It is on by default, but you’re more than welcome to turn it off by setting the checkForUpdates variable to false.
January 15, 2010 [download]
- Script was released in a stable state using Gmail’s Greasemonkey support
March 16th, 2010 at 9:47 am
Wonderful script! I wonder why Google doesn’t incorporate this feature into Gmail itself. Until that time (if it ever happens), this script rules.
I’ve got a few suggestions:
– Ability to edit the settings in the interface rather than the source, and ability to persist settings. Any other GM script with this ability can be used as a template for the implementation.
– That counter is a bit distracting imho, a setting like “showTimer” would be great.
– Auto-refreshing the inbox after fetching (preferbly in the background). Interestingly even Gmail itself doesn’t do this.
I would be more than happy about the option of collaboration on the addition of these (and other) features. You can contact me at any time you wish.
Cheers!
March 16th, 2010 at 10:19 am
Hello Halil, thank you for the suggestions! It is my future goal to incorporate an in-browser settings page but initially I was just making sure all the bugs were out of it first. So far I haven’t had any complains about this version, so I do believe it’s golden. There already is a variable in the code you can turn off so the counter will not show. It will still count down in the background, but you wont see it. I’ll look into what call i have to make to auto refresh the inbox too. Let me know if you have any other future suggestions.
September 26th, 2010 at 7:06 pm
Hello Halil,
I realize this reply is a long time coming but I’ve finally found a solution for refreshing your Gmail Inbox without navigating you away from the current page you’re on after POP3ing. You can find this option under the new settings pane of the current script. Enjoy!
March 15th, 2010 at 10:18 am
I figured out how to get this working in Opera!
You’ll need this:
http://www.howtocreate.co.uk/operaStuff/userJavaScript.html#compatibility
(Rename to 00.gmfunctions.user.js and drop in your scripts directory.)
And this:
opera:config#UserPrefs|UserJavaScriptonHTTPS
(Check the main checkbox to enable it.)
Works like a charm! Thank you so much for this highly essential script!
March 15th, 2010 at 12:40 pm
Awesome! Great find. Thank you for contributing this.
March 15th, 2010 at 8:04 am
“Second, based on what time interval (in minutes) you set the variable to in the script (defaults is
it’ll automatically run it for you that often.”
Where/How to set the variable?
March 15th, 2010 at 12:40 pm
Hello Rebecca, are you using Google Chrome or Firefox with Greasemonkey? Also, what is your OS? Mac or Windows?
March 15th, 2010 at 5:00 am
OK, just found the answer via the same question posted above.
Might I suggest you include the installation requirements (first installing Greasemonkey, etc.) at the top where you describe the software?
I would probably avoid future repeats of the same question.
Nice script! Thank you!
John
March 15th, 2010 at 12:39 pm
Hello John, that’s an excellent suggestion. Once I get back from my trip I will make sure to add an Installation Requirements/Directions.
March 15th, 2010 at 4:38 am
HI,
This looks like a nice feature to add to my gmail, however when I click on the “download” link all I get is a screenfull of code. How do I install this into my gmail?
March 13th, 2010 at 10:55 am
Great script! When I found out that my gmail hadn’t checked my POP3 for two days, and I received 20 emails through POP3 when I checked manually, I finally got fed up and searched for a greasemonkey script. I think it would be great if the script also checked for POP3 on the load of the gmail page.
March 13th, 2010 at 12:05 pm
Hello John, the moment the page loads the script should be making a request to POP3 your accounts. If you’re seeing something else please let me know.
March 12th, 2010 at 3:47 pm
Daniel,
I’m running Firefox 3.5.8 on an old PowerMac G4 and find gmail impossibly slow unless I run it in the “older version.” Will your script still work for me? Also, Firefox updates frequently. I’ve never added a script before. Do you typically have to rework your scripts with each update? Do you send notice when you update your script, or would I need to check back here? Thanks!
March 15th, 2010 at 11:39 pm
Hello Rebeca,
The script should work on older versions (to some extent) of Firefox without any problems. It more relies on the comparability of your browser with Gmail more than the version of Firefox you have. If Gmail ever updates itself (you wouldn’t be notified) then I’ll have to release a new version. And yeah, my script will automatically prompt you when a new version comes out. Hopefully that answers your questions!
Daniel
March 11th, 2010 at 3:18 pm
Daniel,
Greetings from New York City.
Your script kicks ass. It’s a must-have for anyone relying primarily on Gmail email.
One request… I’d prefer to have the search box collapsed by default — as it works now, when I view the Spam tag the search box expands. If I then return to Inbox, my search box remains expanded despite having it collapsed before viewing Spam. I can hack the script, but wonder if you might make my attempt easier: Can you point me to a location in the code to force collapse of the search area? I only want to see it by clicking the toggle link.
Kind regards,
Damion
PS. Where is your Wish List or donation link ?
March 15th, 2010 at 11:36 pm
Hello Damion,
If you have anything you’d like added to this script, or perhaps the creation of another script, please feel free to just post here and I’ll see what I can do. For the donation (Paypal) link you should find that right above the download link on this page’s content. Please let me know if you cannot figure out either and I’ll try to help further.
http://www.danielslaughter.com/projects/gmail-pop3-checker-for-greasemonkey/
March 11th, 2010 at 8:47 am
One for the script request list.
Biggest problem with gmail for me is the multiple accounts and the in-ability to load two accounts at the same time but in different tabs in Firefox.
The options I’ve found to date are are “google account multi-login” by crappytools.net and this works ok but still means logging out of one, into the other, etc.
There was another one that was not greasemonkey and it would start a new browser and didn’t really work.
Next option is an IE Tab and sometimes that works great but today keeps loading the “other” account and not the new one I want to load and the whole thing drives me crazy as then there’s the google docs accounts that are associated with each login….. crazy!
March 10th, 2010 at 1:11 pm
Now I see where my dilemma came from: the Firefox add-on ‘Gmail Checker 2.1.1′ (through which I typically will open a newly arrived message) apparently is opening the message as an entry of All Mail (not Inbox). Thus when I choose to delete said message, it subsequently displays All Mail.
When I move through Gmail’s web UI as we both did today, I don’t see the unwanted behavior.
I had no awareness I wasn’t opening messages in Inbox until now because (a) the All Mail link in the left side panel remains hidden below
’3 more â–¼’
so if it gets highlighted I never see it; and (b) I use a dark outer space theme that tends to obscure some visual cues anyway, e.g., the highlighting.
None of this is your problem (or should be)! Now that I see the add-on doesn’t access the Inbox, I’ll settle for it as is and shut up. Similar add-ons I tested are worse – failed in some major way or other – and the author of this one isn’t user-friendly.
March 10th, 2010 at 1:39 pm
Alrighty. Just let me know if there is anything else I can do to make it easier for you.
March 10th, 2010 at 12:25 pm
Hmmm. Gmail is not behaving irksome-ly for me either today. Could be the biggest coincidence ever that Google happened to ‘repair’ this today. I have retested every which way I could think of and it’s reverting to Inbox following a deletion, as it did for you. (No, I rarely willingly navigate to All Mail, so the one case you did find isn’t a bother & doesn’t seem in need of fixing.) Thanks for checking. Never mind my request for now & I’ll re-post if I discover it misbehaving again. With fuller details.
March 10th, 2010 at 11:56 am
Srsly? Request line is open? What a prince…
I find myself irked by Gmail’s display of ‘All Mail’ (another annoyance: ‘All Mail’ is a.k.a ‘Archive’ but never mind that lapse) whenever I delete a message. I’d much prefer that it display ‘Inbox’ instead.
If anyone knows a script for it already exists, what is it?
Or if not, bet we’d all love to see another fine D. Slaughter product in the cyberworld (when you have time… enjoy your trip for now).
March 10th, 2010 at 12:03 pm
Hello emarell,
I’m trying to reproduce what you’re noticing, except I can only see this one way:
1. I click “All Mail” from the navigation.
2. I click on any email in the “All Mail” filter.
3. I click “Delete” at the top of the message.
4. Gmail then navigates me back to the “All Mail” filter and not my Inbox.
So what you’d like is for step 4 to bring you back to your Inbox instead of the folder you accessed the message from? Just trying to clarify.
March 10th, 2010 at 9:03 am
Dan, do you have other gmail scripts I don’t know about. Want a suggestion? How about “inbox after reply” which was available at http://userscripts.org/scripts/show/38212 but no longer works.
Just a thought.
March 10th, 2010 at 9:33 am
Hello Andy,
I do not have any other scripts I use, but if you’d like I can make this for you. I’ll be in Austin, TX this week through next for South by South West (SXSW) but I’ll try to get something wrapped up for you soon.
If there is anything else in the future you’d fine useful to other people, just let me know and I’d be happy to consider it.
March 10th, 2010 at 6:24 am
Nice that Google at least acknowledged the need for this and their version might be fine for users with accounts that not-so-important but the rest of need your script so thank you again.
March 10th, 2010 at 12:52 am
Is this only for Windows?
March 10th, 2010 at 6:34 am
This will work on any OS (Windows, Mac, Linux) as long as you have Firefox with Greasemonkey or Google Chrome.
March 8th, 2010 at 6:51 pm
Google just released a script like this similar in Labs. However, keep in mind the Labs version does not AUTOMATICALLY check your accounts, and you’d still have to manually click the link. My script, however, will still provide that link plus an automatic checker. Thus, my script is still better than Google’s; awesome.
http://gmailblog.blogspot.com/2010/03/new-in-labs-refresh-pop-accounts.html
March 10th, 2010 at 1:08 am
Yep, I noticed that too. Well done!
March 7th, 2010 at 7:09 am
I really love this script. Works great!
However, I have a couple of questions, as it’s my first time messing around with Greasemonkey.
1) I do have to keep Firefox open to make it fetch this often, right? So that if I close down Firefox, it will go back to the default ~1 checking?
2) Do I have to be logged on to GMail or have the site open in my browser for this to work, or will it work even when I’m not on a Google site?
Keep up the great work!
March 7th, 2010 at 10:01 am
Sorry to say, but yes, you will need to have Firefox running and the GMail page up for this script to work. Otherwise GMail will eventually go back to it’s default checking. Please let me know if you have any other questions.
March 6th, 2010 at 8:12 am
Great script. I searched for this script for weeks. Thank you very much!
March 4th, 2010 at 2:55 am
Great script. Would be nice to see a Jetpack version.
March 3rd, 2010 at 11:32 am
Hi!
Could it be that your script is simply not working in Chrome v5? It says checking….done, but in history list there is nothing new?
March 3rd, 2010 at 6:14 pm
I’m using Chrome version “5.0.335.0 dev” and it seems to be working fine. However, I am on a MacBook. Are you by chance on Windows? Please keep in mind that although it says “Done!” it really just means it sent the request. Google may have not actually finished POP3ing your accounts at that time. It could take up to 1 minute after it says that for it to be fully complete. Let me know if you have any other information and I can try to look into it further.
March 3rd, 2010 at 11:05 pm
I am on windows devs 5.0.307.1, and 5.0.335.1 on another computer. It doesn’t work on both. Got it running for the whole night, and it doesn’t show anything except standard one-hour fetches. I even dug into the code, found something about Iframe, set it to false – still nothing.
March 1st, 2010 at 9:06 am
Just wanted to say thanks for sharing this. I’ve used a similar one in the past that wasn’t nearly as good. Great job-
February 27th, 2010 at 12:45 pm
Ok, thanks a lot !
February 26th, 2010 at 7:46 am
Just found this script… and wow, I love it! Thanks a lot Daniel, my life is really easier now!
This being said, i’ve got an error when i check the History :
“Error reading mail.
Server returned error “Error in LIST command: login allowed only every 15 minutes” ”
Is my mail fetched anyway ? Or should I set the timer at 15 minutes ?
Thanks again for all your work.
February 26th, 2010 at 9:45 am
Hell Adrien,
It appears whoever you’re POP3 account is you’re connecting to limits the number of requests to once every 15 minutes. This isn’t something you can control via Gmail, and although this script may continue to check more often than every 15 minutes it shouldn’t cause an issue other than your POP3 server freaking out. You could set the timer to every 15 minutes if you wanted to have it check less often, but it should be alright either way… your log will just be riddled with errors whenever it hasn’t been 15 minutes yet.
February 26th, 2010 at 1:57 am
Thanks Daniel. Changing line 38 to 8000 fixed the problem and it loads every time now.
February 25th, 2010 at 4:42 pm
Hi Dan,
This script has far exceeded my expectations, Great work!
Quite often the script fails to load with Gmail though, i.e. the POP3 link doesn’t appear in the right hand corner. I usually have to reload the GMail page a few times in order to get it to appear. Any ideas?
Incidentally, it might be a good idea to put up a notice on this page warning about email collection and explaining what it does. It doesn’t matter to me, but I know a lot of people are sensitive about that stuff…
February 25th, 2010 at 4:51 pm
Hello max6166,
Thanks for your comment! It may be taking a minute because Gmail hasn’t fully loaded on your browser and it’s currently timed based for when it tries to insert the POP3 link. Try this:
On line 38 replace this:
},3000);
With this:
},8000);
That’ll increase the wait from 3 seconds to 8 seconds. Let me know if that fixes it! I need to implement a better way of testing that for slower connections/computers.
Also, I do mention me adding the sendAccountOnUpdate flag in the February 19th’s change log… but you’re right, I should probably make that a little more obvious somewhere. I mean, I suppose people could look at the code like Greasemonkey suggests they do. Haha.
Again, thanks for your feedback! Let me know if that code fixes it for you.
February 26th, 2010 at 5:14 pm
I have this issue, too. Below is a workaround that I currently used.
setTimeout(function(){
var el = document.body.getElementsByTagName(‘b’);
// “Gmail” is for the default web client, “Mail” is for google apps, and “Google Mail” is for the German (and possibly other languages) version.
if (el && el.length && (el[0].innerHTML == ‘Gmail’ || el[0].innerHTML == ‘Mail’ || el[0].innerHTML == ‘Google Mail’)) {
init();
return;
}
else if (!arguments.callee.tries)
arguments.callee.tries = 1;
else if (arguments.callee.tries < 10)
arguments.callee.tries++;
else
return;
setTimeout(arguments.callee, 1000);
},1000);
It will attempt to initialize the script up to 10 times.
So far it is quite stable here.
I also tried catch "load" event, but it doesn't work.
February 25th, 2010 at 3:53 pm
Very good idea, however when i click on download I get a bunch of code. I have no idea what to do with that. Can you create some sort of exe file?
February 25th, 2010 at 4:55 pm
Hello Alan,
Currently this script will only work in Firefox. I’m in the process of writing a version for Chrome (since this wouldn’t be compatible), but that will take some time.
You’ll need to install an Add-on for Firefox called “Greasemonkey†(which was not written by me). This allows this .js script to run on-top of Gmail. You can download that here:
https://addons.mozilla.org/en-US/firefox/addon/748
Once that’s downloaded, restart Firefox, and then come back to this page and download the link again. A little popup will appear asking you if you want to Install it as a Greasemonkey script. Once that’s installed, refresh Gmail and you should be all set.
Please let me know if you have any other questions.
February 25th, 2010 at 3:47 pm
Version 2/25 continues to work quite well in this corner of the cyberplanet. To your million stars, Daniel, add the proverbial thousand origami cranes… ‘wishing you a thousand years of happiness and prosperity.’
February 25th, 2010 at 4:56 pm
lol. Thanks emarell.
February 25th, 2010 at 1:35 pm
millions of stars for you.
Thank you for going out of your way to help me and everyone that is loving your script.
Robert, NRH, TX
February 25th, 2010 at 1:40 pm
Anytime.
February 25th, 2010 at 8:26 am
Dan — you are a lifesaver — that fix worked perfectly. There are a lot of people in the cold if Gmail pop3 continues to flake!
Sheila Averbuch — ENN
February 25th, 2010 at 8:03 am
Sounds great Dan — especially because Gmail pop3 check is definitely failing for me. But am I being dense? I don’t know where to ‘put’ this .js script — how do I stick it in to my Gmail? Or my browser? Or wherever? Can you advise?
Do you have a twitter account?
Sheila Averbuch — ENN
February 25th, 2010 at 8:06 am
Hello Sheila,
Currently this script will only work in Firefox. I’m in the process of writing a version for Chrome (since this wouldn’t be compatible), but that will take some time.
You’ll need to install an Add-on for Firefox called “Greasemonkey” (which was not written by me). This allows this .js script to run on-top of Gmail. You can download that here:
https://addons.mozilla.org/en-US/firefox/addon/748
Once that’s downloaded, restart Firefox, and then come back to this page and download the link again. A little popup will appear asking you if you want to Install it as a Greasemonkey script. Once that’s installed, refresh Gmail and you should be all set.
Please let me know if you have any other questions.
February 25th, 2010 at 8:01 am
Thanks for both replies & to all for their continued attention to this. This is one coding project that’s worth it.
I installed the 2/25 script now & yes, it’s looking good at this writing.
February 25th, 2010 at 7:49 am
Emarell and Andy,
The bug in the 2/24 release that I fixed in the 2/25 released was causing the script to think you had more POP3 accounts than you actually did. And because of this it would over-hit the POP3 request in gmail, making requests to invalid accounts (thus: it would error). It should all be fixed now, and aside from a few exceptions from bugs reported by 3rd party apps, everything should be good-to-go.
February 25th, 2010 at 7:43 am
2/25 is working perfectly Emarell.
February 25th, 2010 at 7:38 am
Hi Daniel
Ditto for me re: what Andy Lumley has written just above. I haven’t tried the 2/25 but the 2/24 had reverted to causing a red security alert in the Firefox URL bar again(as some earlier versions did). I am back to 2/19/2010b at the moment… no red alert.
February 25th, 2010 at 6:22 am
Seemed like this script was broken sometime since Wednesday afternoon but a see there was an update available but was not notified as such, so just a heads up that I never saw the “new update available message”, maybe I missed it and seems to be OK now. Thank You!
February 25th, 2010 at 5:41 am
Can you change it so we don’t have to re-alter the settings each time you put out a new version?
Great script btw
February 25th, 2010 at 5:44 am
Hello treason, I hope to someday shortly have a settings page where it will preserve your settings from version to version. I’m trying to work out most of the bugs first though.
February 24th, 2010 at 11:29 pm
Hi Daniel, Nice script, I´m testing it, but so far it´s working perfectly. Regards from Andorra, Europe.
February 25th, 2010 at 5:17 am
Thank you Salvador! I’m glad you enjoy it.
February 24th, 2010 at 2:47 pm
how do i change the time interval?
February 24th, 2010 at 7:37 pm
Hello Rob,
If you right click on the greasemonkey icon in the firefox toolbar and click “Manage User Scripts” a window will appear. In there click on the “Gmail Check POP3 Mail Now” item, and then “Edit.” At the top of this code you’ll see something like “checkEvery = 8;” This value, 8, is how many minutes it defaults to for checking. You can change this number to anything between 3 and infinity. Please let me know if you have any further questions.
February 24th, 2010 at 9:21 am
I have 5 email accounts that I pop in Gmail. The first four listed are the only ones getting mail. The 5th account will not go…
Any ideas?
I have the most recent version as of 2/24/10
February 24th, 2010 at 9:11 am
Hi Daniel,
Fantastic script. Unfortunately ver 2/24 no longer works with Gmail running in standalone Prism 1.0b3. The indicator is stuck showing ‘POP3 Starting…’ I tried useIframe both true and false. All the previous versions worked fine in this environment.
Dave
February 24th, 2010 at 10:02 am
Hello Dave, without sounding undereducated, what is Prism? I googled it and found the developer’s website, but he never explains what it does. It seems like it runs on top of Firefox, but what is its purpose?
Also: If I install it to figure out why it’s not working, is it easy to uninstall?
February 24th, 2010 at 12:29 pm
Hi Daniel,
Prism is a Mozilla tool that allows running web applications outside the browser. There are two versions, one that runs standalone (what I use) and one that is a Firefox extension. Download the standalone version from the ‘Get Started’ link on the home page http://prism.mozillalabs.com. It is not quite portable, but is very easy to remove. Once installed, you will need to add Greasemonkey as an extension and then install your script.
Dave
February 25th, 2010 at 9:12 am
Hi Daniel,
The 2/25 version is working fine now with Gmail running in Prism. Thanks!
Dave
February 24th, 2010 at 8:43 am
Thanks Daniel, I’ll try that – I prefer manual updates anyway. It’s possible that my Firefox no pop-ups setting is the problem, as it didn’t prevent yours.
Dick
February 24th, 2010 at 7:32 am
I’m noticing that while using your script my history (accessed via gmail, settings, accounts and import tab, “View History”) shows the Pop3 account being checked every 1 to 2 minutes. But I can manually see the countdown clock roll through its full time before checking?
February 24th, 2010 at 5:56 am
Hey Daniel,
Just wanted to say thank you real quick. It does make my life better! Keep up the great work,
Alex
February 24th, 2010 at 5:59 am
Hey Alex, no problem! I’m glad you enjoy it.
February 24th, 2010 at 5:31 am
It popped up a dialog saying there is a new 24th Feb update, with Yes and No buttons. Pressing Yes did not take me to your blog but hung Firefox. This happened repeatedly, some hangs total, some only temp. The dialog appeared whenever I started Firefox. What mechanism raises this box – is it in the local script code or from your blog?
February 24th, 2010 at 5:40 am
Hello Dick Pountain,
Yes, when the variable “checkForUpdates” in my script is set to “true” (by default it is) it will request a page from my server which in turn responds with a javascript confirm pop-up if an update is available. You could set “checkForUpdates” to “false” and then periodically check this page to see if any updates are available. Or, if that pop-up happens just click “cancel” (so you know there is an update) and come back to this page to update it without clicking “ok.” Again, I apologize this is happening. That’s the cruel thing about programming: if I cannot reproduce it, then it’s hard for me to fix.
February 24th, 2010 at 4:22 am
Installed your script a couple of days ago and it worked fine. However today your notifications of 24th Feb crashed my Firefox completely – clicking did not install new version but caused a total hang. Uninstalled script, manually downloaded new version and am waiting to see what happens. Love the script and will be happy to donate, so long as this doesn’t happen EVERY update.
February 24th, 2010 at 5:24 am
Hello Dick Pountain,
The update popup should just bring you to my website, not actually have you install the script. From there you can click the “download” link to do so. At what point did it hang? I apologize if it did that, I really hope it wasn’t my blog that caused it. I’m glad you enjoy the script as well! Please let me know if you can think of any future improvements.
February 23rd, 2010 at 12:07 am
Hello,
It seems this script will break offline gmail. I don’t know whether the synchronization is stopped or not, but at least the UI (an icon at upper-right corner) is stopped to work. Could you check this issue?
Anyway, your script is very useful for me. Thanks.
February 23rd, 2010 at 12:33 am
Updated!
I just checked the codes, and I found the problem is caused by the line:
pop3.header[1].innerHTML += ‘ | ‘;
Because assigning innerHTML causes the reconstruction of the DOM tree, the codes were attached to the old nodes are lost. To fix it is quite simple, just change the line to:
pop3.header[1].appendChild(document.createTextNode(‘ | ‘));
February 22nd, 2010 at 7:21 pm
I think I have been posting on the wrong site. I just saw your above reply. I am using English language and the only script is yours. At work I use a MAC and at home a PC. This is what I wrote on other post
_______________________________________________
I have 2 windows open. 1 monitoring my HMailer server and the other Gmail. When I manually click on your script my HMail server logging does not do anything. But if I click on GMails Check mail now I can see my HMail server logging fetching the mail.
I just click on the script POP3 like 4 to 5 times and nothing happens on the HMail Server.
I defaulted back to your Feb 14, 2010 which is working. It is not as beautiful as your Feb 21 update.
Lucky, I saved your Fe 14, 2010 update.
Thank you
Robert
February 22nd, 2010 at 8:41 pm
Are all of your POP3 accounts confirmed with Gmail to be able to send emails as them from your Gmail account? Or do you only have them setup to pull in mail? This is a known bug and I’m looking into a fix. If you need to download the February 14 version in the future there is a download link next to it in the Change Log. I will make sure from now on I always save a backup of every version I release so you can easily roll back.
February 22nd, 2010 at 6:56 pm
Daniel,
I defaulted back to your Feb 14, 2010 which is working.
Lucky, I saved your Feb 14, 2010 update.
February 22nd, 2010 at 6:20 pm
Daniel,
I have 2 windows open. 1 monitoring my HMailer server and the other Gmail. When I manually click on your script my HMail server logging does not do anything. But if I click on GMails Check mail now I can see my HMail server logging fetching the mail.
I just click on the script POP3 like 4 to 5 times and nothing happens on the HMail Server.
Please Help.
Robert
February 22nd, 2010 at 3:03 pm
Hello Daniel,
The February 20 version is now working for me. Thank you for updating this script so aggressively!
Given the considerable variance in system config, even limited to a single browser, I suggest posting links to previous versions of the script. That way, if the current version breaks our config, we can rollback to the previous, working version.