Gmail Checker v2.1 beta

Thursday, 16 April 2009

Gmail Checker version 2.1 beta is available. Get it here (30 KB).

New features:

  • option to check mail in Gmail's mail fetcher accounts
  • toolbar button
  • option to show messages in the main menu as in version 1 instead of in the submenu (see screenshot)

Update: 20/8

You can get the the final beta here. If everything's fine, I'll release v2.1 sometime this weekend.

Posted at 07:16 pm in Firefox, Testing

Comments

  1. Hello,

    This is the guy that requested the mail fetcher. It looks like it is doing exactly what I wanted. Thanks a lot.
    On another note it took me a bit to figure out that I needed to customize the toolbar in order to get the button in the toolbar, maybe a little snippet in your post or the help section would be beneficial.
    Thanks again for your efforts.
    Sean
    by Sean on Tuesday, 21 April 2009, 10:58 pm #
  2. I put a couple links to your site from a few forums for gmail, labs, etc. Many people have been waiting for a solution like this. Thanks again,
    Sean
    by Sean on Tuesday, 21 April 2009, 11:25 pm #
  3. i have tried this app. it is installed, configured, and has my account
    info. i have the box checked that says "check gmail's mail fetcher
    accounts", but when i check, it does absolutely nothing with those
    accounts. last time checked never changes from when Google last
    checked them under whatever interval they are using. i have even
    tested sending an email to one of my other accounts and immediately
    pressing the "check mail now" option, but it just checks gmail only
    and sits there... is there a secret to MAKE is check the external
    accounts other than clicking the box that says check external
    accounts?
    by jeff on Tuesday, 28 April 2009, 05:54 pm #
  4. If you're already logged in, log out and try logging in again.
    Also, it'd be helpful to include some debug info (see this FAQ entry.)
    by NT on Tuesday, 28 April 2009, 06:38 pm #
  5. I have it installed on 4 different computers, 3 at work and 1 personal and the mail fetcher checks every few minutes. Works great for me and other coworkers. Jeff did you set the check mail time to like 5 minutes?
    by Sean on Friday, 1 May 2009, 04:21 am #
  6. I'm wondering in the news program of yours whether or not it is possible to show only a summary instead of the full post ?

    Any chance of integrating html or niceEdit ?
    by Ken on Wednesday, 6 May 2009, 10:24 pm #
  7. To have a summary, use the [more] tag like this:
    your summary...
    [more]
    your full article...
    [/more]

    For HTML, put your code inside a [raw] tag like this:
    [raw]
    <b>bold text</b>
    [/raw]
    by NT on Thursday, 7 May 2009, 06:28 pm #
  8. i have recently done a clean install of Mac OS 10.5, and therefore firefox. i am going to reinstall this now since i would love for it to work, and see what happens. i suspect there was an issue with my installation of firefox before.
    by jeff on Monday, 11 May 2009, 03:20 pm #
  9. Lovely Script
    Addicted to that.
    Just a tiny modification would be great
    I don't know if it's possible to add a mark as read option in the menu
    by Amiroo on Wednesday, 13 May 2009, 02:32 pm #
  10. just wanted to say that i love your news script. mucho löve!
    by Björn on Tuesday, 26 May 2009, 12:09 am #
  11. This is a great add-on.

    I have a few suggestions to make it even better:

    (1.) What would make it better is to split the single button into one button with two activation areas (like the bookmarks button on the Google toolbar). It must look like two buttons, but must remain one button on the toolbar.

    If the user clicks on the envelope, it logs the person directly into their default Gmail account.

    If the user clicks on the unread emails count, with the drop down arrow, the user will see the drop-down list as it does now.

    (2.) Add a tooltip. If the user hovers over the Gmail Checker button, show a tooltip which lists the name of the account and the subjects of the unread emails in that account.

    In this way, I can hover over the button, see if the email I am looking for has arrived and click on the envelope to log me into Gmail directly.

    (3.) Add a new entry to the top of the drop-down menu, which reads "Compose new email".

    If there is more than one Gmail account, the writing could be:

    Compose email as:
    1. List first email address
    2. List second email address
    etc.

    These three changes would make Gmail Checker perfect for me.

    Thank you.

    Kind regards,
    Wickyd
    by Wickyd on Thursday, 28 May 2009, 08:28 am #
  12. It never shows more than 20 messages for me no matter how many are in the inbox. Is this limitation intentional?
    by etosamoe on Thursday, 28 May 2009, 08:59 pm #
  13. Wickyd:
    (1) the extension doesn't have a concept of a 'default' account, and I'm not planning to implement it either.
    (2) that's what the mail counter and drop-down menu are for, presumably you don't keep tens of unread messages in your account.
    (3) with 3 mouse clicks compared to 2 as in your suggestion, you've been able to do exactly the same. Also, this is a mail checker, not a composer.

    etosamoe: that's the limitation of Gmail atom feeds.
    by NT on Friday, 29 May 2009, 12:35 pm #
  14. Hi everybody! This is a great add-on! I really like it!
    But, as far as I know, there isn't any translation, is there?
    If you want, I can translate this add-on in Italian, I know quite well English and I can translate it! I'll be so proud to translate it! Could it be possible? Please tell me!
    Best regards,
    Matteo Silvestro, aka Silver
    by Silver on Sunday, 31 May 2009, 11:34 am #
  15. Thanks for this amazing addon
    Instead of a "default" account, is it possible to add a custom order of the accounts, i.e. first my own, second the work account.
    Thanks a lot!
    by Eduk on Monday, 1 June 2009, 01:04 pm #
  16. Matteo: sure, but I've got to write a script to automate the translating, updating, reviewing and packaging the extension first. And babelzilla isn't really my cup of tea. I think I'll finish this before the release of v2.1.

    Eduk: that's possible.
    by NT on Monday, 1 June 2009, 03:31 pm #
  17. Request:
    - left click on button opens gmail instead of checking...

    An animated apng image would be nicer too, but it's not important. I can even use throbber icon if I want.
    by Nojevah on Tuesday, 2 June 2009, 06:14 pm #
  18. Hello,

    GMail Checker has replaced GMail Manager as extention in my firefox from a wile now, and there is definitly a feature that would be really useful for me :
    on an email, when you right click on it, you have the options : Archive / Report spam / Delete.
    If possible, it would be really nice if you could add : "Mark as Read". So for some notification email that I want to check later, I can directly keep them in the inbox, but stop watching them in GMail Checker as soon as they are marked as read.
    For now, I need to go to my Gmail account in order to open them...

    Thank you for reading me and for your great extention!
    by zarathosss on Monday, 8 June 2009, 12:23 am #
  19. "Mark as read" will be available in version 2.1.
    by NT on Tuesday, 9 June 2009, 12:05 am #
  20. I just installed this and it looks great! I've been hoping for a multi-mailbox replacement for GMail Manager for a long time.

    I especially like the ability to go directly to a particular email or mark it as read from the popup menu.

    One useful addition might be to have a mailbox summary on the icon's mouse-over event instead of "Click here to display Gmail Checker's menu". I find the Gmail Manager's list of subject-lines and snippets very useful.

    Another useful feature would be the ability to set how many minutes occur between a check.

    Cheers!

    -Mike
    by Mike Bridge on Friday, 12 June 2009, 06:19 pm #
  21. ...and another nice-to-have feature would be to show the new-email totals for labels. I need to monitor a few important labels which I've configured to skip the inbox, and currently I check them quickly by mousing-over my GMail Manager icon.
    by Mike Bridge on Friday, 12 June 2009, 09:32 pm #
  22. Thanks for this nice addon! Couldn't get the others to work after updating firefox.

    By the way, is it possible to display the account names + unread messages within parentheses on the toolbar icon, please? Currently it shows the number of unread mails only, but while using multiple accounts, its not possible to understand which account that mail belongs to! Just some food for thought...!
    by Rez on Tuesday, 16 June 2009, 02:50 am #
  23. The icon shows the total number of new messages in all accounts so the current implementation is fine.
    by NT on Tuesday, 16 June 2009, 01:10 pm #
  24. Really nice applet. Thank you very much for your work!
    by Taxidermista on Wednesday, 17 June 2009, 10:51 pm #
  25. How is localization implemented? I'd like to translate it into Spanish. Let me know how I can help.
    by em4r1z on Wednesday, 29 July 2009, 02:34 am #
  26. I've just finished the translation system. For anyone interested in localising the extension, you can do it at (http://winged.info/projects/xpi/).
    Thanks.
    by NT on Thursday, 30 July 2009, 02:02 pm #
  27. I completed the translation for Spanish (International Sort) for version 2.0.90. The comments aren't saved. You may want to check this issue.
    by em4r1z on Friday, 31 July 2009, 02:56 pm #
  28. Thanks, em4r1z.
    The comments are supposed to be notes from the translator to me and not part of the locale. That's why they're not visible. I should probably make it a bit clearer on the page.
    by NT on Friday, 31 July 2009, 05:16 pm #
  29. Unless you speak the language in question, I don't think your approach is useful. It would be better to be able to share comments with other translators. All of mine were recommendations and clarifications.
    by em4r1z on Friday, 31 July 2009, 05:38 pm #
  30. Of course I need to know what the translation means before I include it in the release. I may not necessarily understand the grammar but an online translator is good enough to verify the translation.
    There's no way I would include anything even just some text in my software unless I know what it is.
    by NT on Monday, 3 August 2009, 03:31 pm #
  31. Then you need to trust and delegate.
    If my commentary is "it is 'activas' because the implicit subject is feminine and plural", it is meaningless to you even though it is correctly translated. Any Spanish speaker would understand the annotation.
    You demand a double effort for I must explain you in English why I took some grammatical decisions in Spanish that you do not understand.
    by em4r1z on Wednesday, 5 August 2009, 08:23 pm #
  32. I made this translation system so that anyone can help translate the extension without asking for permission and such. Otherwise, I'd have used babelzilla. Whether a translation is included into the release or not is my decision.
    As the first translator of a language, you can take the liberty of doing it your way. Only when you edit existing translations, it'd be proper to write the reason.
    I can see your point but it's only applicable when the translation keeps getting edited because people don't agree with each other. At the moment, that's not the case so I'll leave the current system as it is.
    There are no reasons to write the comment in both languages either. Just think that you're writing to another translator in English.
    by NT on Friday, 7 August 2009, 07:29 pm #
  33. I'll commit to the Spanish (International sort) and/or Spanish (Spain) translation(s).
    by em4r1z on Friday, 7 August 2009, 07:57 pm #
  34. hey,

    just installed your news script on a page that will have German news entries as well aside from English ones.

    Problem is, the HTML codes for the umlaut letters aren't working in news posts. like ä ö ü etc.

    is there any way to make this happen?


    all the best,
    urlaut
    by urlaut on Saturday, 8 August 2009, 12:56 pm #
  35. If you've got a German keyboard or know the character code (Alt + 4-digit number) in Windows, just type the character directly.
    Otherwise, you need to enclose your text inside [raw][/raw] tag. Just make sure that text enclosed inside [raw] must be valid HTML.
    by NT on Monday, 10 August 2009, 03:58 pm #
  36. i'm on a mac using OS 10.5.8. i entered pop3 emails that are setup to fetch in gmail. i get a "failed to login" error but i am sure the email and password are correct. i went to the debug window by right clicking on about and it is empty.
    by ari on Wednesday, 19 August 2009, 01:38 am #
  37. You can't log in to non-Gmail accounts with the extension. The option is to fetch mail in POP accounts managed by your Gmail account at the same time when you check mail in the Gmail account.
    Gmail officially doesn't support this and only fetches mail at an unknown fixed interval unless you manually click on "Check mail now" in "Settings / Accounts and Import".
    by NT on Wednesday, 19 August 2009, 11:21 am #
  38. ok, i misunderstood the function of the extension. if it can't log in to non-gmail accounts, then what is the difference between this and google notifier? is it that it can log into multiple gmail accounts?
    by ari on Wednesday, 19 August 2009, 03:47 pm #
  39. I can't say the difference between this extension and the others because I don't use any of them.
    For your other question, see the info here.
    by NT on Wednesday, 19 August 2009, 05:21 pm #
  40. Since I upgrade to firefox 3.5 its look like the gmail fetcher option is not working anymore. Is this true? or something on my side.
    by Gabo on Friday, 21 August 2009, 07:01 pm #
  41. It's working fine for me. Note that mail fetcher only works with standard Gmail interface and won't work if you have basic HTML set as the default interface.
    Also, "something doesn't work" isn't the right way to ask for a solution. Make sure that you include the debug report as well.
    by NT on Saturday, 22 August 2009, 05:12 pm #
  42. You are right. Sorry, my intention was to check if anymore had troubles like me with the gmail fetcher. Let me ask you something, I have the parameters set to check every 10 min and "Check mail in Gmail's Fetcher accounts" checked, but if I go to my gmail account in settings->accounts the "Check mail using pop3" section said Last checked 20 minutes ago or something bigger that 10 min. this is why I thing the fetcher is not working.
    by Gabo on Monday, 31 August 2009, 07:45 pm #
  43. Me again. I think I found what my problems is. When I enter the gmail account login info I used only the name not the fully gmail address with the @gmail.com. It's work withing gmail emails but not with the fetcher. Now I enter the full login and now is working the fetcher.
    by Gabo on Monday, 31 August 2009, 08:00 pm #
  44. Using account name without @gmail.com shouldn't cause the problem. It was probably because Gmail was slow to respond to the request, but definitely not due to how an account name was entered.
    by NT on Wednesday, 2 September 2009, 04:42 pm #
  45. Hi, I just updated the Spanish (Spain) translation. Two requests:
    1. Is it possible to mark the original phrases that changed from the last version? Right now, the translation system only marks original phrases that didn't exists in the previous version but not those that changed, forcing us to read the whole translation looking for changes.
    2. The Spanish characters were lost since my last translation, showing diamonds instead. What's the correct way to enter special characters into the translation interface? This should prevent the loss.
    by em4r1z on Friday, 11 September 2009, 05:39 pm #
  46. Thanks, em4r1z.
    1. The changes are either to rephrase words to make it clearer which you may or may not want to translate or to change the meaning altogether (very very unlikely but I don't guarantee it wouldn't happen). It's the translator's job to look through everything to make sure it's sound. There's no forcing here. This system works based on people feeling happy to do it.
    2. The characters display just fine with UTF encoding for me.
    by NT on Monday, 14 September 2009, 06:37 pm #
  47. Hello,
    For the last few days I cannot get gmail checker to login and check emails. I can login to my google account fine, but whenever I try to do so with gmail checker, it keeps popping up the login box as if the password were incorrect. I tried using my gmail name, and name@gmail.com, no luck. Any ideas?

    Great addon by the way. :)
    by shane on Wednesday, 16 September 2009, 04:16 pm #
  48. It's working fine for me.
    You should try opening the debug window (right click on About in the menu) while logging in. Copy the debug messages with your personal info removed and send it to me.
    by NT on Wednesday, 16 September 2009, 06:15 pm #
  49. I just emailed you the debug report, thanks for taking the time to help.

    Shane
    by shane on Thursday, 17 September 2009, 02:35 pm #
  50. Same as Shane above. Broken since 2.0 update. Always says passwords on all accounts are wrong even though they are right. Tried 2.1, same problem. Worked fine before 2.0 update.

    Does this help from the debug?

    [Friday, September 18, 2009 1:01:24 PM] OPENING CONNECTION: https://www.google.com/accounts/ServiceLoginAuth?service=mail&__gmc14_1253253684729 [Friday, September 18, 2009 1:01:24 PM] SENDING REQUEST: ltmpl=default<mplcache=2&service=mail&rm=false&rmShown=1&signIn=Sign%20in&continue=http%3A%2F%2Fmail.google.com%2Fmail%2F%3Fui%3Dhtml%26zy%3Dd&Email=xxxxxxxxxxxx&Passwd=xxxxxxxxxxxxxxxxx& [Friday, September 18, 2009 1:01:24 PM] SET COOKIE: [Friday, September 18, 2009 1:01:24 PM] RECEIVED COOKIE: GALX=MKgZ8Ek4NNA;Path=/accounts;Secure [Friday, September 18, 2009 1:01:24 PM] STATE: 2 [Friday, September 18, 2009 1:01:24 PM] STATE: 3 [Friday, September 18, 2009 1:01:24 PM] STATE: 3 [Friday, September 18, 2009 1:01:24 PM] STATE: 4 [Friday, September 18, 2009 1:01:24 PM] PAGE CONTENT:
    by ziggy on Friday, 18 September 2009, 07:10 am #
  51. ^^^^^I have the exact same problem

    here is my debug report :


    [2009-09-18 06:20:18] PROCESS: 0
    [2009-09-18 06:20:18] CHECKING: email@gmail.com
    [2009-09-18 06:20:18] OPENING CONNECTION: https://www.google.com/accounts/ServiceLoginAuth?service=mail&__gmc_1253254818665
    [2009-09-18 06:20:18] SENDING REQUEST: ltmpl=default&ltmplcache=2&service=mail&rm=false&rmShown=1&signIn=Sign%20in&continue=http%3A%2F%2Fmail.google.com%2Fmail%2F%3Fui%3Dhtml%26zy%3Dd&Email=email&Passwd=b%2Chnukt45&
    [2009-09-18 06:20:18] SET COOKIE:
    [2009-09-18 06:20:18] RECEIVED COOKIE: GALX=pnmprMRzWhw;Path=/accounts;Secure
    [2009-09-18 06:20:18] STATE: 2
    [2009-09-18 06:20:18] STATE: 3
    [2009-09-18 06:20:18] STATE: 3
    [2009-09-18 06:20:18] STATE: 3
    [2009-09-18 06:20:18] STATE: 4
    [2009-09-18 06:20:18] PAGE CONTENT:
    <html lang="en" dir="ltr">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <style type=text/css>
    <!--
    body,td,div,p,a,font,span {font-family: arial,sans-serif}
    body {margin-top:2}

    .c {width: 4; height: 0}

    .bubble {background-color:#C3D9FF}

    .tl {padding: 0; width: 4; text-align: left; vertical-align: top}
    .tr {padding: 0; width: 4; text-align: right; vertical-align: top}
    .bl {padding: 0; width: 4; text-align: left; vertical-align: bottom}
    .br {padding: 0; width: 4; text-align: right; vertical-align: bottom}

    .caption {color:#000000; white-space:nowrap; background:#E8EEFA; text-align:center}

    .form-noindent {background-color: #ffffff; border: #C3D9FF 1px solid}

    .feature-image {padding: 15 0 0 0; vertical-align: top; text-align: right; }
    .feature-description {padding: 15 0 0 10; vertical-align: top; text-align: left; }

    .signup_btn {cursor: pointer; margin: 10px 0 -20px 0; text-align: center; }
    .signup_btn_link {color: #000; text-align: center; text-align: center; text-decoration: none; padding: 0 7px; font-weight: bold; font-size: 14px; white-space: nowrap; }

    .SPRITE_signup_button_grey_l { background:no-repeat url(https://mail.google.com/mail/help/images/greybtn.png) 0 0; width: 14px; height: 45px }
    .SPRITE_signup_button_grey_m { background:no-repeat url(https://mail.google.com/mail/help/images/greybtn.png) -14px 0; height: 45px }
    .SPRITE_signup_button_grey_r { background:no-repeat url(https://mail.google.com/mail/help/images/greybtn.png) -365px 0; width: 15px; height: 45px }


    .SPRITE_cell {background: no-repeat url(https://mail.google.com/mail/help/images/login_features_sprite.png) 0 -142px; width: 42px; height: 42px; float: right }
    .SPRITE_search_new {background:no-repeat url(https://mail.google.com/mail/help/images/login_features_sprite.png) 0 -100px; width: 42px; height: 42px; float: right }
    .SPRITE_spam_new {background:no-repeat url(https://mail.google.com/mail/help/images/login_features_sprite.png) 0 -58px; width: 42px; height: 42px; float: right }
    .SPRITE_storage {background:no-repeat url(https://mail.google.com/mail/help/images/login_features_sprite.png) 0 0; width: 42px; height: 42px; float: right }
    .SPRITE_feed_icon {background: no-repeat url(https://mail.google.com/mail/help/images/login_features_sprite.png) 0 -42px; width: 16px; height: 16px }

    .SPRITE_corner_bl {background:no-repeat url(https://mail.google.com/mail/help/images/login_corners_sprite.png) 0 0; width: 4px; height: 4px; font-size:2px }
    .SPRITE_corner_br {background:no-repeat url(https://mail.google.com/mail/help/images/login_corners_sprite.png) -4px 0; width: 4px; height: 4px; font-size:2px }
    .SPRITE_corner_tl {background:no-repeat url(https://mail.google.com/mail/help/images/login_corners_sprite.png) 0 -4px; width: 4px; height: 4px; font-size:2x }
    .SPRITE_corner_tr {background:no-repeat url(https://mail.google.com/mail/help/images/login_corners_sprite.png) -4px -4px; width: 4px; height: 4px; font-size:2px }


    // -->
    </style>
    <title>
    Gmail: Email from Google
    </title>
    </head>
    <body bgcolor=#ffffff link=#0000FF vlink=#0000FF onload="OnLoad(); ">
    <table width=95% border=0 align=center cellpadding=0 cellspacing=0>
    <tr valign=top>
    <td width=1%>
    <img src="https://mail.google.com/mail/help/images/logo2.gif" border=0 width=143 height=59 alt="Gmail" align=left vspace=10/>
    </td>
    <td width=99% bgcolor=#ffffff valign=top>
    <table width=100% cellpadding=1>
    <tr valign=bottom>
    <td><div align=right> </div></td>
    </tr>
    <tr>
    <td nowrap=nowrap>
    <table width=100% align=center cellpadding=0 cellspacing=0 bgcolor=#C3D9FF style=margin-bottom:5>
    <tr>
    <td class="bubble tl" align=left valign=top><div class="SPRITE_corner_tl" /></td>
    <td class=bubble rowspan=2 style="font-family:arial;text-align:left;font-weight:bold;padding:5 0"><b>Welcome to Gmail</b></td>
    <td class="bubble tr" align=right valign=top><div class="SPRITE_corner_tr" /></td>
    </tr>
    <tr>
    <td class="bubble bl" align=left valign=bottom><div class="SPRITE_corner_bl" /></td>
    <td class="bubble br" align=right valign=bottom><div class="SPRITE_corner_br" /></td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    <table width=94% align=center cellpadding=5 cellspacing=1>
    <tr>
    <td valign=top style="text-align:left"><b>A Google approach to email.</b>
    <td valign=top> 
    </tr>
    <tr>
    <td width=75% valign=top>
    <p style="margin-bottom: 0;text-align:left"><font size=-1>
    Gmail is a new kind of webmail, built on the idea that email can be more intuitive, efficient, and useful. And maybe even fun. After all, Gmail has:
    </font>
    </p>
    <table border="0" cellpadding="0" cellspacing="0" width="90%"><tbody>
    <tr>
    <td class="feature-image"><div class="SPRITE_spam_new" /></td>
    <td class="feature-description">
    <font size=-1><b>Less spam</b><br>
    Keep unwanted messages out of your inbox with Google's innovative technology.</font>
    </td>
    </tr>
    <tr>
    <td class="feature-image"><div class="SPRITE_cell" /></td>
    <td class="feature-description">
    <font size=-1><b>Mobile access</b><br>
    Read Gmail on your mobile phone by pointing your phone's web browser to <b>http://gmail.com/app</b>. <a href="http://www.google.com/intl/en_IL/mobile/mail/#utm_source=en_IL-cpp-g4mc-gmhp&utm_medium=cpp&utm_campaign=en_IL">Learn more</a></font>
    </td>
    </tr>
    <tr>
    <td class="feature-image"><div class="SPRITE_storage" /></td>
    <td class="feature-description">
    <font size=-1><b>Lots of space</b><br>
    Over <span id=quota>2757.272164</span> megabytes (and counting) of free storage so you'll never need to delete another message.</font>
    </td>
    </tr>
    </tbody></table>
    </td>
    <td valign=top>
    <!-- login box -->
    <div id=login>
    <script><!--

    function gaia_onLoginSubmit() {


    if (window.gaiacb_onLoginSubmit) {
    return gaiacb_onLoginSubmit();
    } else {
    return true;
    }

    }


    function gaia_setFocus() {
    var f = null;
    if (document.getElementById) {
    f = document.getElementById("gaia_loginform");
    } else if (window.gaia_loginform) {
    f = window.gaia_loginform;
    }
    if (f) {
    if (f.Email && (f.Email.value == null || f.Email.value == "")) {
    f.Email.focus();
    } else if (f.Passwd) {
    f.Passwd.focus();
    }
    }
    }
    --></script>
    <style type="text/css"><!--
    div.errormsg { color: red; font-size: smaller; font-family:arial,sans-serif; }
    font.errormsg { color: red; font-size: smaller; font-family:arial,sans-serif; }
    --></style>
    <style type="text/css"><!--
    .gaia.le.lbl { font-family: Arial, Helvetica, sans-serif; font-size: smaller; }
    .gaia.le.fpwd { font-family: Arial, Helvetica, sans-serif; font-size: 70%; }
    .gaia.le.chusr { font-family: Arial, Helvetica, sans-serif; font-size: 70%; }
    .gaia.le.val { font-family: Arial, Helvetica, sans-serif; font-size: smaller; }
    .gaia.le.button { font-family: Arial, Helvetica, sans-serif; font-size: smaller; }
    .gaia.le.rem { font-family: Arial, Helvetica, sans-serif; font-size: smaller; }

    .gaia.captchahtml.desc { font-family: arial, sans-serif; font-size: smaller; }
    .gaia.captchahtml.cmt { font-family: arial, sans-serif; font-size: smaller; font-style: italic; }

    --></style>
    <form id="gaia_loginform"

    action="https://www.google.com/accounts/ServiceLoginAuth?service=mail" method="post"

    onsubmit=
    "return(gaia_onLoginSubmit());"
    >
    <div id="gaia_loginbox">
    <table class="form-noindent" cellspacing="3" cellpadding="5" width="100%" border="0">
    <tr>
    <td valign="top" style="text-align:center" nowrap="nowrap"
    bgcolor="#e8eefa">
    <input type="hidden" name="ltmpl"
    value="default">
    <input type="hidden" name="ltmplcache"
    value="2">
    <div class="loginBox">
    <table id="gaia_table" align="center" border="0" cellpadding="1" cellspacing="0">
    <tr>
    <td colspan="2" align="center">
    <font size="-1">
    Sign in to
    Gmail
    with your
    </font>
    <table>
    <tr>
    <td valign="top">
    <img src="google_transparent.gif"
    alt="Google">
    </img>
    </td>
    <td valign="middle">
    <font size="+0"><b>Account</b></font>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    <script type="text/javascript"><!--
    function onPreCreateAccount() {

    return true;

    }

    function onPreLogin() {


    if (window["onlogin"] != null) {
    return onlogin();
    } else {
    return true;
    }

    }
    --></script>
    <tr>
    <td colspan="2" align="center">
    </td>
    </tr>
    <tr>
    <td nowrap="nowrap">
    <div align="right">
    <span class="gaia le lbl">
    Username:
    </span>
    </div>
    </td>
    <td>
    <input type="hidden" name="continue" id="continue"
    value="http://mail.google.com/mail/?ui=html&zy=d" />
    <input type="hidden" name="service" id="service"
    value="mail" />
    <input type="hidden" name="rm" id="rm"
    value="false" />
    <input type="hidden" name="ltmpl" id="ltmpl"
    value="default" />
    <input type="hidden" name="ltmpl" id="ltmpl"
    value="default" />
    <input type="hidden"
    name="GALX"
    value="pnmprMRzWhw" />
    <input type="text" name="Email" id="Email"
    size="18" value="email"


    class='gaia le val'

    />
    </td>
    </tr>
    <tr>
    <td></td>
    <td align="left">
    </td>
    </tr>
    <tr>
    <td align="right" nowrap="nowrap">
    <span class="gaia le lbl">
    Password:
    </span>
    </td>
    <td>
    <input type="password"
    name="Passwd" id="Passwd"
    size="18"




    class="gaia le val"

    />
    </td>
    </tr>
    <tr>
    <td>
    </td>
    <td align="left">
    </td>
    </tr>
    <tr>
    <td align="right" valign="top">
    <input type="checkbox" name="PersistentCookie" id="PersistentCookie"
    value="yes"



    />
    <input type="hidden" name='rmShown' value="1" />
    </td>
    <td>
    <label for="PersistentCookie" class="gaia le rem">
    Stay signed in
    </label>
    </td>
    </tr>
    <tr>
    <td>
    </td>
    <td align="left">
    <input type="submit" class="gaia le button" name="signIn"
    value="Sign in"
    />
    </td>
    </tr>
    <tr id="ga-fprow">
    <td colspan="2" height="33.0" class="gaia le fpwd"
    align="center" valign="bottom">
    <a href="http://mail.google.com/support/bin/answer.py?answer=46346&fpUrl=https%3A%2F%2Fwww.google.com%2Faccounts%2FForgotPasswd%3FfpOnly%3D1%26continue%3Dhttp%253A%252F%252Fmail.google.com%252Fmail%252F%253Fui%253Dhtml%2526zy%253Dd%26service%3Dmail%26ltmpl%3Ddefault%26dEM%3Demail&fuUrl=https%3A%2F%2Fwww.google.com%2Faccounts%2FForgotPasswd%3FfuOnly%3D1%26continue%3Dhttp%253A%252F%252Fmail.google.com%252Fmail%252F%253Fui%253Dhtml%2526zy%253Dd%26service%3Dmail%26ltmpl%3Ddefault&hl=en&dEM=email"
    target=_top>
    Can't access your account?
    </a>
    </td>
    </tr>
    </table>
    </div>
    </td>
    </tr>
    </table>
    </div>
    <input type="hidden" name="asts"
    id="asts"
    value="">
    </form>
    <form id="gaia_universallogin"
    action="https://www.google.com/accounts/ServiceLoginAuth?service=mail" method="post"
    onsubmit="return(gaia_onLoginSubmit());">
    <input type="hidden" name="continue" id="continue"
    value="http://mail.google.com/mail/?ui=html&zy=d" />
    <input type="hidden" name="service" id="service"
    value="mail" />
    <input type="hidden" name="rm" id="rm"
    value="false" />
    <input type="hidden" name="ltmpl" id="ltmpl"
    value="default" />
    <input type="hidden" name="ltmpl" id="ltmpl"
    value="default" />
    <input type="hidden" name="ltmpl" id="ltmpl"
    value="default" />
    <input type="hidden" name="ltmplcache" id="ltmplcache"
    value="2" />
    </form>
    </div>
    <!-- end login box -->
    <br>
    <!-- links box (below login box) -->
    <table class=form-noindent cellpadding=0 width=100% bgcolor=#E8EEFA id=links>
    <tr bgcolor=#E8EEFA>
    <td valign=top>
    <div align=center style="margin:10 0">
    <font size="-1">New to Gmail? It's free and easy.</font>
    <table cellspacing=0 cellpadding=0 align=center class="signup_btn" onclick="window.location='http://mail.google.com/mail/signup';"><tr>
    <td class="SPRITE_signup_button_grey_l"></td>
    <td class="SPRITE_signup_button_grey_m"><a class="signup_btn_link" href="http://mail.google.com/mail/signup">
    Create an account »
    </a></td>
    <td class="SPRITE_signup_button_grey_r"></td>
    </tr></table>
    <br><br>
    <font size="-1">
    <a href="http://mail.google.com/mail/help/intl/en/about.html">About Gmail</a
    >     <a href="http://mail.google.com/mail/help/intl/en/about_whatsnew.html">New features!</a>
    </font>
    <br>
    </div>
    </td>
    </tr>
    </table>
    <!-- end links box (below login box) -->
    </table>
    <br>
    <table width=95% align=center cellpadding=3 cellspacing=0 bgcolor=#C3D9FF style=margin-bottom:5>
    <tr>
    <td class="bubble tl" align=left valign=top><div class="SPRITE_corner_tl" /></td>
    <td class=bubble rowspan=2 style=text-align:left>
    <div align=center>
    <font size=-1 color=#666666>©2009 Google -
    <a href="http://www.google.com/a/help/intl/en/users/user_features.html#utm_medium=et&utm_source=gmail-en&utm_campaign=crossnav&token=gmail_footer">Gmail for Organizations</a> -
    <a href="http://gmailblog.blogspot.com/?utm_source=en-gmftr&utm_medium=et&utm_content=gmftr">Gmail Blog</a> -
    <a href="http://mail.google.com/mail/help/intl/en/terms.html">Terms</a>
    - <a href="http://mail.google.com/support/">Help</a>
    </font>
    </div>
    </td>
    <td class="bubble tr" align=right valign=top><div class="SPRITE_corner_tr" /></td>
    </tr>
    <tr>
    <td class="bubble bl" align=left valign=bottom><div class="SPRITE_corner_bl" /></td>
    <td class="bubble br" align=right valign=bottom><div class="SPRITE_corner_br" /></td>
    </tr>
    </table>
    <script type="text/javascript">
    var BrowserSupport_={IsBrowserSupported:function(){var agt=navigator.userAgent.toLowerCase();var is_op=agt.indexOf("opera")!=-1;var is_ie=agt.indexOf("msie")!=-1&&document.all&&!is_op;var is_ie5=agt.indexOf("msie 5")!=-1&&document.all&&!is_op;var is_mac=agt.indexOf("mac")!=-1;var is_gk=agt.indexOf("gecko")!=-1;var is_sf=agt.indexOf("safari")!=-1;if(is_ie&&!is_op&&!is_mac){if(agt.indexOf("palmsource")!=
    -1||agt.indexOf("regking")!=-1||agt.indexOf("windows ce")!=-1||agt.indexOf("j2me")!=-1||agt.indexOf("avantgo")!=-1||agt.indexOf(" stb")!=-1)return false;var v=BrowserSupport_.GetFollowingFloat(agt,"msie ");if(v!=null)return v>=5.5}if(is_gk&&!is_sf){var v=BrowserSupport_.GetFollowingFloat(agt,"rv:");if(v!=null)return v>=1.4;else{v=BrowserSupport_.GetFollowingFloat(agt,"galeon/");if(v!=null)return v>=
    1.3}}if(is_sf){if(agt.indexOf("rv:3.14.15.92.65")!=-1)return false;var v=BrowserSupport_.GetFollowingFloat(agt,"applewebkit/");if(v!=null)return v>=312}if(is_op){if(agt.indexOf("sony/com1")!=-1)return false;var v=BrowserSupport_.GetFollowingFloat(agt,"opera ");if(v==null)v=BrowserSupport_.GetFollowingFloat(agt,"opera/");if(v!=null)return v>=8}if(agt.indexOf("pda; sony/com2")!=-1)return true;return false},
    GetFollowingFloat:function(str,pfx){var i=str.indexOf(pfx);if(i!=-1){var v=parseFloat(str.substring(i+pfx.length));if(!isNaN(v))return v}return null},tz_path:";path=/"};if(window.location.href.toLowerCase().indexOf("google.com")>0)BrowserSupport_.tz_path+=";domain=.google.com";document.cookie="TZ="+(new Date).getTimezoneOffset()+BrowserSupport_.tz_path;var is_browser_supported=BrowserSupport_.IsBrowserSupported()
    </script>
    <script type=text/javascript>
    <!--

    var start_time = (new Date()).getTime();

    if ((top.location != self.location)&&(top.location.href.indexOf('https://www.google.com/analytics/siteopt/preview')!=0)) {
    top.location = self.location.href;
    }

    function SetGmailCookie(name, value) {
    document.cookie = name + "=" + value + ";path=/;domain=.google.com";
    }

    function lg() {
    var now = (new Date()).getTime();

    var cookie = "T" + start_time + "/" + start_time + "/" + now;
    SetGmailCookie("GMAIL_LOGIN", cookie);
    }

    function gaiacb_onLoginSubmit() {
    lg();
    if (!fixed) {
    FixForm();
    }
    return true;
    }

    function StripParam(url, param) {
    var start = url.indexOf(param);
    if (start == -1) return url;
    var end = start + param.length;

    var charBefore = url.charAt(start-1);
    if (charBefore != '?' && charBefore != '&') return url;

    var charAfter = (url.length >= end+1) ? url.charAt(end) : '';
    if (charAfter != '' && charAfter != '&' && charAfter != '#') return url;
    if (charBefore == '&') {
    --start;
    } else if (charAfter == '&') {
    ++end;
    }
    return url.substring(0, start) + url.substring(end);
    }
    var fixed = 0;
    function FixForm() {
    if (is_browser_supported) {
    var form = el("gaia_loginform");
    if (form && form["continue"]) {
    var url = form["continue"].value;
    url = StripParam(url, "ui=html");
    url = StripParam(url, "zy=l");
    form["continue"].value = url;
    }
    }
    fixed = 1;
    }
    function el(id) {
    if (document.getElementById) {
    return document.getElementById(id);
    } else if (window[id]) {
    return window[id];
    }
    return null;
    }
    // Estimates of nanite storage generation over time.
    var CP = [
    [ 1199433600000, 6283 ],
    [ 1224486000000, 7254 ],
    [ 2144908800000, 10996 ],
    [ 2147328000000, 43008 ],
    [ 46893711600000, Number.MAX_VALUE ]
    ];
    var quota;
    var ONE_PX = "https://mail.google.com/mail/images/c.gif?t=" +
    (new Date()).getTime();
    function LogRoundtripTime() {
    var img = new Image();
    var start = (new Date()).getTime();
    img.onload = GetRoundtripTimeFunction(start);
    img.src = ONE_PX;
    }
    function GetRoundtripTimeFunction(start) {
    return function() {
    var end = (new Date()).getTime();
    SetGmailCookie("GMAIL_RTT", (end - start));
    }
    }
    function MaybePingUser() {
    var f = el("gaia_loginform");
    if (f.Email.value) {
    new Image().src = 'https://mail.google.com/mail?gxlu=' +
    encodeURIComponent(f.Email.value) +
    '&zx=' + (new Date().getTime());
    }
    }
    function OnLoad() {
    gaia_setFocus();
    MaybePingUser();
    el("gaia_loginform").Passwd.onfocus = MaybePingUser;
    LogRoundtripTime();
    if (!quota) {
    quota = el("quota");
    updateQuota();
    }
    LoadConversionScript();
    }
    function updateQuota() {
    if (!quota) {
    return;
    }
    var now = (new Date()).getTime();
    var i;
    for (i = 0; i < CP.length; i++) {
    if (now < CP[i][0]) {
    break;
    }
    }
    if (i == 0) {
    setTimeout(updateQuota, 1000);
    } else if (i == CP.length) {
    quota.innerHTML = CP[i - 1][1];
    } else {
    var ts = CP[i - 1][0];
    var bs = CP[i - 1][1];
    quota.innerHTML = format(((now-ts) / (CP[i][0]-ts) * (CP[i][1]-bs)) + bs);
    setTimeout(updateQuota, 1000);
    }
    }

    var PAD = '.000000';

    function format(num) {
    var str = String(num);
    var dot = str.indexOf('.');
    if (dot < 0) {
    return str + PAD;
    } if (PAD.length > (str.length - dot)) {
    return str + PAD.substring(str.length - dot);
    } else {
    return str.substring(0, dot + PAD.length);
    }
    }
    var google_conversion_type = 'landing';
    var google_conversion_id = 1069902127;
    var google_conversion_language = "en_US";
    var google_conversion_format = "1";
    var google_conversion_color = "FFFFFF";
    function LoadConversionScript() {
    var script = document.createElement("script");
    script.type = "text/javascript";
    script.src = "https://www.googleadservices.com/pagead/conversion.js";
    }
    // -->
    </script>
    <script type="text/javascript">
    <!--
    FixForm();
    // -->
    </script>
    <script type="text/javascript" src="https://ssl.google-analytics.com/urchin.js"></script>
    <script type="text/javascript">
    _uacct="UA-992684-1";
    _utcp="/accounts/";
    _udn="google.com";
    _uRno[0]=".google.com";
    urchinTracker("/mail/gaia/homepage");
    urchinPathCopy("/mail/help/");
    </script>
    </body>
    </html>

    [2009-09-18 06:20:26] OPENING CONNECTION: https://www.google.com/accounts/ServiceLoginAuth?service=mail&__gmc_1253254826099
    [2009-09-18 06:20:26] SENDING REQUEST: ltmpl=default&ltmplcache=2&service=mail&rm=false&rmShown=1&signIn=Sign%20in&continue=http%3A%2F%2Fmail.google.com%2Fmail%2F%3Fui%3Dhtml%26zy%3Dd&Email=email&Passwd=b%2Chnukt45&PersistentCookie=yes&
    [2009-09-18 06:20:26] SET COOKIE:
    [2009-09-18 06:20:26] RECEIVED COOKIE: GALX=pxCcYOHs5qM;Path=/accounts;Secure
    [2009-09-18 06:20:26] STATE: 2
    [2009-09-18 06:20:26] STATE: 3
    [2009-09-18 06:20:26] STATE: 3
    [2009-09-18 06:20:26] STATE: 3
    [2009-09-18 06:20:26] STATE: 4
    [2009-09-18 06:20:26] PAGE CONTENT:
    <html lang="en" dir="ltr">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <style type=text/css>
    <!--
    body,td,div,p,a,font,span {font-family: arial,sans-serif}
    body {margin-top:2}

    .c {width: 4; height: 0}

    .bubble {background-color:#C3D9FF}

    .tl {padding: 0; width: 4; text-align: left; vertical-align: top}
    .tr {padding: 0; width: 4; text-align: right; vertical-align: top}
    .bl {padding: 0; width: 4; text-align: left; vertical-align: bottom}
    .br {padding: 0; width: 4; text-align: right; vertical-align: bottom}

    .caption {color:#000000; white-space:nowrap; background:#E8EEFA; text-align:center}

    .form-noindent {background-color: #ffffff; border: #C3D9FF 1px solid}

    .feature-image {padding: 15 0 0 0; vertical-align: top; text-align: right; }
    .feature-description {padding: 15 0 0 10; vertical-align: top; text-align: left; }

    .signup_btn {cursor: pointer; margin: 10px 0 -20px 0; text-align: center; }
    .signup_btn_link {color: #000; text-align: center; text-align: center; text-decoration: none; padding: 0 7px; font-weight: bold; font-size: 14px; white-space: nowrap; }

    .SPRITE_signup_button_grey_l { background:no-repeat url(https://mail.google.com/mail/help/images/greybtn.png) 0 0; width: 14px; height: 45px }
    .SPRITE_signup_button_grey_m { background:no-repeat url(https://mail.google.com/mail/help/images/greybtn.png) -14px 0; height: 45px }
    .SPRITE_signup_button_grey_r { background:no-repeat url(https://mail.google.com/mail/help/images/greybtn.png) -365px 0; width: 15px; height: 45px }


    .SPRITE_cell {background: no-repeat url(https://mail.google.com/mail/help/images/login_features_sprite.png) 0 -142px; width: 42px; height: 42px; float: right }
    .SPRITE_search_new {background:no-repeat url(https://mail.google.com/mail/help/images/login_features_sprite.png) 0 -100px; width: 42px; height: 42px; float: right }
    .SPRITE_spam_new {background:no-repeat url(https://mail.google.com/mail/help/images/login_features_sprite.png) 0 -58px; width: 42px; height: 42px; float: right }
    .SPRITE_storage {background:no-repeat url(https://mail.google.com/mail/help/images/login_features_sprite.png) 0 0; width: 42px; height: 42px; float: right }
    .SPRITE_feed_icon {background: no-repeat url(https://mail.google.com/mail/help/images/login_features_sprite.png) 0 -42px; width: 16px; height: 16px }

    .SPRITE_corner_bl {background:no-repeat url(https://mail.google.com/mail/help/images/login_corners_sprite.png) 0 0; width: 4px; height: 4px; font-size:2px }
    .SPRITE_corner_br {background:no-repeat url(https://mail.google.com/mail/help/images/login_corners_sprite.png) -4px 0; width: 4px; height: 4px; font-size:2px }
    .SPRITE_corner_tl {background:no-repeat url(https://mail.google.com/mail/help/images/login_corners_sprite.png) 0 -4px; width: 4px; height: 4px; font-size:2x }
    .SPRITE_corner_tr {background:no-repeat url(https://mail.google.com/mail/help/images/login_corners_sprite.png) -4px -4px; width: 4px; height: 4px; font-size:2px }


    // -->
    </style>
    <title>
    Gmail: Email from Google
    </title>
    </head>
    <body bgcolor=#ffffff link=#0000FF vlink=#0000FF onload="OnLoad(); ">
    <table width=95% border=0 align=center cellpadding=0 cellspacing=0>
    <tr valign=top>
    <td width=1%>
    <img src="https://mail.google.com/mail/help/images/logo2.gif" border=0 width=143 height=59 alt="Gmail" align=left vspace=10/>
    </td>
    <td width=99% bgcolor=#ffffff valign=top>
    <table width=100% cellpadding=1>
    <tr valign=bottom>
    <td><div align=right> </div></td>
    </tr>
    <tr>
    <td nowrap=nowrap>
    <table width=100% align=center cellpadding=0 cellspacing=0 bgcolor=#C3D9FF style=margin-bottom:5>
    <tr>
    <td class="bubble tl" align=left valign=top><div class="SPRITE_corner_tl" /></td>
    <td class=bubble rowspan=2 style="font-family:arial;text-align:left;font-weight:bold;padding:5 0"><b>Welcome to Gmail</b></td>
    <td class="bubble tr" align=right valign=top><div class="SPRITE_corner_tr" /></td>
    </tr>
    <tr>
    <td class="bubble bl" align=left valign=bottom><div class="SPRITE_corner_bl" /></td>
    <td class="bubble br" align=right valign=bottom><div class="SPRITE_corner_br" /></td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    <table width=94% align=center cellpadding=5 cellspacing=1>
    <tr>
    <td valign=top style="text-align:left"><b>A Google approach to email.</b>
    <td valign=top> 
    </tr>
    <tr>
    <td width=75% valign=top>
    <p style="margin-bottom: 0;text-align:left"><font size=-1>
    Gmail is a new kind of webmail, built on the idea that email can be more intuitive, efficient, and useful. And maybe even fun. After all, Gmail has:
    </font>
    </p>
    <table border="0" cellpadding="0" cellspacing="0" width="90%"><tbody>
    <tr>
    <td class="feature-image"><div class="SPRITE_spam_new" /></td>
    <td class="feature-description">
    <font size=-1><b>Less spam</b><br>
    Keep unwanted messages out of your inbox with Google's innovative technology.</font>
    </td>
    </tr>
    <tr>
    <td class="feature-image"><div class="SPRITE_cell" /></td>
    <td class="feature-description">
    <font size=-1><b>Mobile access</b><br>
    Read Gmail on your mobile phone by pointing your phone's web browser to <b>http://gmail.com/app</b>. <a href="http://www.google.com/intl/en_IL/mobile/mail/#utm_source=en_IL-cpp-g4mc-gmhp&utm_medium=cpp&utm_campaign=en_IL">Learn more</a></font>
    </td>
    </tr>
    <tr>
    <td class="feature-image"><div class="SPRITE_storage" /></td>
    <td class="feature-description">
    <font size=-1><b>Lots of space</b><br>
    Over <span id=quota>2757.272164</span> megabytes (and counting) of free storage so you'll never need to delete another message.</font>
    </td>
    </tr>
    </tbody></table>
    </td>
    <td valign=top>
    <!-- login box -->
    <div id=login>
    <script><!--

    function gaia_onLoginSubmit() {


    if (window.gaiacb_onLoginSubmit) {
    return gaiacb_onLoginSubmit();
    } else {
    return true;
    }

    }


    function gaia_setFocus() {
    var f = null;
    if (document.getElementById) {
    f = document.getElementById("gaia_loginform");
    } else if (window.gaia_loginform) {
    f = window.gaia_loginform;
    }
    if (f) {
    if (f.Email && (f.Email.value == null || f.Email.value == "")) {
    f.Email.focus();
    } else if (f.Passwd) {
    f.Passwd.focus();
    }
    }
    }
    --></script>
    <style type="text/css"><!--
    div.errormsg { color: red; font-size: smaller; font-family:arial,sans-serif; }
    font.errormsg { color: red; font-size: smaller; font-family:arial,sans-serif; }
    --></style>
    <style type="text/css"><!--
    .gaia.le.lbl { font-family: Arial, Helvetica, sans-serif; font-size: smaller; }
    .gaia.le.fpwd { font-family: Arial, Helvetica, sans-serif; font-size: 70%; }
    .gaia.le.chusr { font-family: Arial, Helvetica, sans-serif; font-size: 70%; }
    .gaia.le.val { font-family: Arial, Helvetica, sans-serif; font-size: smaller; }
    .gaia.le.button { font-family: Arial, Helvetica, sans-serif; font-size: smaller; }
    .gaia.le.rem { font-family: Arial, Helvetica, sans-serif; font-size: smaller; }

    .gaia.captchahtml.desc { font-family: arial, sans-serif; font-size: smaller; }
    .gaia.captchahtml.cmt { font-family: arial, sans-serif; font-size: smaller; font-style: italic; }

    --></style>
    <form id="gaia_loginform"

    action="https://www.google.com/accounts/ServiceLoginAuth?service=mail" method="post"

    onsubmit=
    "return(gaia_onLoginSubmit());"
    >
    <div id="gaia_loginbox">
    <table class="form-noindent" cellspacing="3" cellpadding="5" width="100%" border="0">
    <tr>
    <td valign="top" style="text-align:center" nowrap="nowrap"
    bgcolor="#e8eefa">
    <input type="hidden" name="ltmpl"
    value="default">
    <input type="hidden" name="ltmplcache"
    value="2">
    <div class="loginBox">
    <table id="gaia_table" align="center" border="0" cellpadding="1" cellspacing="0">
    <tr>
    <td colspan="2" align="center">
    <font size="-1">
    Sign in to
    Gmail
    with your
    </font>
    <table>
    <tr>
    <td valign="top">
    <img src="google_transparent.gif"
    alt="Google">
    </img>
    </td>
    <td valign="middle">
    <font size="+0"><b>Account</b></font>
    </td>
    </tr>
    </table>
    </td>
    </tr>
    <script type="text/javascript"><!--
    function onPreCreateAccount() {

    return true;

    }

    function onPreLogin() {


    if (window["onlogin"] != null) {
    return onlogin();
    } else {
    return true;
    }

    }
    --></script>
    <tr>
    <td colspan="2" align="center">
    </td>
    </tr>
    <tr>
    <td nowrap="nowrap">
    <div align="right">
    <span class="gaia le lbl">
    Username:
    </span>
    </div>
    </td>
    <td>
    <input type="hidden" name="continue" id="continue"
    value="http://mail.google.com/mail/?ui=html&zy=d" />
    <input type="hidden" name="service" id="service"
    value="mail" />
    <input type="hidden" name="rm" id="rm"
    value="false" />
    <input type="hidden" name="ltmpl" id="ltmpl"
    value="default" />
    <input type="hidden" name="ltmpl" id="ltmpl"
    value="default" />
    <input type="hidden"
    name="GALX"
    value="pxCcYOHs5qM" />
    <input type="text" name="Email" id="Email"
    size="18" value="email"


    class='gaia le val'

    />
    </td>
    </tr>
    <tr>
    <td></td>
    <td align="left">
    </td>
    </tr>
    <tr>
    <td align="right" nowrap="nowrap">
    <span class="gaia le lbl">
    Password:
    </span>
    </td>
    <td>
    <input type="password"
    name="Passwd" id="Passwd"
    size="18"




    class="gaia le val"

    />
    </td>
    </tr>
    <tr>
    <td>
    </td>
    <td align="left">
    </td>
    </tr>
    <tr>
    <td align="right" valign="top">
    <input type="checkbox" name="PersistentCookie" id="PersistentCookie"
    value="yes"


    checked="checked"


    />
    <input type="hidden" name='rmShown' value="1" />
    </td>
    <td>
    <label for="PersistentCookie" class="gaia le rem">
    Stay signed in
    </label>
    </td>
    </tr>
    <tr>
    <td>
    </td>
    <td align="left">
    <input type="submit" class="gaia le button" name="signIn"
    value="Sign in"
    />
    </td>
    </tr>
    <tr id="ga-fprow">
    <td colspan="2" height="33.0" class="gaia le fpwd"
    align="center" valign="bottom">
    <a href="http://mail.google.com/support/bin/answer.py?answer=46346&fpUrl=https%3A%2F%2Fwww.google.com%2Faccounts%2FForgotPasswd%3FfpOnly%3D1%26continue%3Dhttp%253A%252F%252Fmail.google.com%252Fmail%252F%253Fui%253Dhtml%2526zy%253Dd%26service%3Dmail%26ltmpl%3Ddefault%26dEM%3Demail&fuUrl=https%3A%2F%2Fwww.google.com%2Faccounts%2FForgotPasswd%3FfuOnly%3D1%26continue%3Dhttp%253A%252F%252Fmail.google.com%252Fmail%252F%253Fui%253Dhtml%2526zy%253Dd%26service%3Dmail%26ltmpl%3Ddefault&hl=en&dEM=email"
    target=_top>
    Can't access your account?
    </a>
    </td>
    </tr>
    </table>
    </div>
    </td>
    </tr>
    </table>
    </div>
    <input type="hidden" name="asts"
    id="asts"
    value="">
    </form>
    <form id="gaia_universallogin"
    action="https://www.google.com/accounts/ServiceLoginAuth?service=mail" method="post"
    onsubmit="return(gaia_onLoginSubmit());">
    <input type="hidden" name="continue" id="continue"
    value="http://mail.google.com/mail/?ui=html&zy=d" />
    <input type="hidden" name="service" id="service"
    value="mail" />
    <input type="hidden" name="rm" id="rm"
    value="false" />
    <input type="hidden" name="ltmpl" id="ltmpl"
    value="default" />
    <input type="hidden" name="ltmpl" id="ltmpl"
    value="default" />
    <input type="hidden" name="ltmpl" id="ltmpl"
    value="default" />
    <input type="hidden" name="ltmplcache" id="ltmplcache"
    value="2" />
    </form>
    </div>
    <!-- end login box -->
    <br>
    <!-- links box (below login box) -->
    <table class=form-noindent cellpadding=0 width=100% bgcolor=#E8EEFA id=links>
    <tr bgcolor=#E8EEFA>
    <td valign=top>
    <div align=center style="margin:10 0">
    <font size="-1">New to Gmail? It's free and easy.</font>
    <table cellspacing=0 cellpadding=0 align=center class="signup_btn" onclick="window.location='http://mail.google.com/mail/signup';"><tr>
    <td class="SPRITE_signup_button_grey_l"></td>
    <td class="SPRITE_signup_button_grey_m"><a class="signup_btn_link" href="http://mail.google.com/mail/signup">
    Create an account »
    </a></td>
    <td class="SPRITE_signup_button_grey_r"></td>
    </tr></table>
    <br><br>
    <font size="-1">
    <a href="http://mail.google.com/mail/help/intl/en/about.html">About Gmail</a
    >     <a href="http://mail.google.com/mail/help/intl/en/about_whatsnew.html">New features!</a>
    </font>
    <br>
    </div>
    </td>
    </tr>
    </table>
    <!-- end links box (below login box) -->
    </table>
    <br>
    <table width=95% align=center cellpadding=3 cellspacing=0 bgcolor=#C3D9FF style=margin-bottom:5>
    <tr>
    <td class="bubble tl" align=left valign=top><div class="SPRITE_corner_tl" /></td>
    <td class=bubble rowspan=2 style=text-align:left>
    <div align=center>
    <font size=-1 color=#666666>©2009 Google -
    <a href="http://www.google.com/a/help/intl/en/users/user_features.html#utm_medium=et&utm_source=gmail-en&utm_campaign=crossnav&token=gmail_footer">Gmail for Organizations</a> -
    <a href="http://gmailblog.blogspot.com/?utm_source=en-gmftr&utm_medium=et&utm_content=gmftr">Gmail Blog</a> -
    <a href="http://mail.google.com/mail/help/intl/en/terms.html">Terms</a>
    - <a href="http://mail.google.com/support/">Help</a>
    </font>
    </div>
    </td>
    <td class="bubble tr" align=right valign=top><div class="SPRITE_corner_tr" /></td>
    </tr>
    <tr>
    <td class="bubble bl" align=left valign=bottom><div class="SPRITE_corner_bl" /></td>
    <td class="bubble br" align=right valign=bottom><div class="SPRITE_corner_br" /></td>
    </tr>
    </table>
    <script type="text/javascript">
    var BrowserSupport_={IsBrowserSupported:function(){var agt=navigator.userAgent.toLowerCase();var is_op=agt.indexOf("opera")!=-1;var is_ie=agt.indexOf("msie")!=-1&&document.all&&!is_op;var is_ie5=agt.indexOf("msie 5")!=-1&&document.all&&!is_op;var is_mac=agt.indexOf("mac")!=-1;var is_gk=agt.indexOf("gecko")!=-1;var is_sf=agt.indexOf("safari")!=-1;if(is_ie&&!is_op&&!is_mac){if(agt.indexOf("palmsource")!=
    -1||agt.indexOf("regking")!=-1||agt.indexOf("windows ce")!=-1||agt.indexOf("j2me")!=-1||agt.indexOf("avantgo")!=-1||agt.indexOf(" stb")!=-1)return false;var v=BrowserSupport_.GetFollowingFloat(agt,"msie ");if(v!=null)return v>=5.5}if(is_gk&&!is_sf){var v=BrowserSupport_.GetFollowingFloat(agt,"rv:");if(v!=null)return v>=1.4;else{v=BrowserSupport_.GetFollowingFloat(agt,"galeon/");if(v!=null)return v>=
    1.3}}if(is_sf){if(agt.indexOf("rv:3.14.15.92.65")!=-1)return false;var v=BrowserSupport_.GetFollowingFloat(agt,"applewebkit/");if(v!=null)return v>=312}if(is_op){if(agt.indexOf("sony/com1")!=-1)return false;var v=BrowserSupport_.GetFollowingFloat(agt,"opera ");if(v==null)v=BrowserSupport_.GetFollowingFloat(agt,"opera/");if(v!=null)return v>=8}if(agt.indexOf("pda; sony/com2")!=-1)return true;return false},
    GetFollowingFloat:function(str,pfx){var i=str.indexOf(pfx);if(i!=-1){var v=parseFloat(str.substring(i+pfx.length));if(!isNaN(v))return v}return null},tz_path:";path=/"};if(window.location.href.toLowerCase().indexOf("google.com")>0)BrowserSupport_.tz_path+=";domain=.google.com";document.cookie="TZ="+(new Date).getTimezoneOffset()+BrowserSupport_.tz_path;var is_browser_supported=BrowserSupport_.IsBrowserSupported()
    </script>
    <script type=text/javascript>
    <!--

    var start_time = (new Date()).getTime();

    if ((top.location != self.location)&&(top.location.href.indexOf('https://www.google.com/analytics/siteopt/preview')!=0)) {
    top.location = self.location.href;
    }

    function SetGmailCookie(name, value) {
    document.cookie = name + "=" + value + ";path=/;domain=.google.com";
    }

    function lg() {
    var now = (new Date()).getTime();

    var cookie = "T" + start_time + "/" + start_time + "/" + now;
    SetGmailCookie("GMAIL_LOGIN", cookie);
    }

    function gaiacb_onLoginSubmit() {
    lg();
    if (!fixed) {
    FixForm();
    }
    return true;
    }

    function StripParam(url, param) {
    var start = url.indexOf(param);
    if (start == -1) return url;
    var end = start + param.length;

    var charBefore = url.charAt(start-1);
    if (charBefore != '?' && charBefore != '&') return url;

    var charAfter = (url.length >= end+1) ? url.charAt(end) : '';
    if (charAfter != '' && charAfter != '&' && charAfter != '#') return url;
    if (charBefore == '&') {
    --start;
    } else if (charAfter == '&') {
    ++end;
    }
    return url.substring(0, start) + url.substring(end);
    }
    var fixed = 0;
    function FixForm() {
    if (is_browser_supported) {
    var form = el("gaia_loginform");
    if (form && form["continue"]) {
    var url = form["continue"].value;
    url = StripParam(url, "ui=html");
    url = StripParam(url, "zy=l");
    form["continue"].value = url;
    }
    }
    fixed = 1;
    }
    function el(id) {
    if (document.getElementById) {
    return document.getElementById(id);
    } else if (window[id]) {
    return window[id];
    }
    return null;
    }
    // Estimates of nanite storage generation over time.
    var CP = [
    [ 1199433600000, 6283 ],
    [ 1224486000000, 7254 ],
    [ 2144908800000, 10996 ],
    [ 2147328000000, 43008 ],
    [ 46893711600000, Number.MAX_VALUE ]
    ];
    var quota;
    var ONE_PX = "https://mail.google.com/mail/images/c.gif?t=" +
    (new Date()).getTime();
    function LogRoundtripTime() {
    var img = new Image();
    var start = (new Date()).getTime();
    img.onload = GetRoundtripTimeFunction(start);
    img.src = ONE_PX;
    }
    function GetRoundtripTimeFunction(start) {
    return function() {
    var end = (new Date()).getTime();
    SetGmailCookie("GMAIL_RTT", (end - start));
    }
    }
    function MaybePingUser() {
    var f = el("gaia_loginform");
    if (f.Email.value) {
    new Image().src = 'https://mail.google.com/mail?gxlu=' +
    encodeURIComponent(f.Email.value) +
    '&zx=' + (new Date().getTime());
    }
    }
    function OnLoad() {
    gaia_setFocus();
    MaybePingUser();
    el("gaia_loginform").Passwd.onfocus = MaybePingUser;
    LogRoundtripTime();
    if (!quota) {
    quota = el("quota");
    updateQuota();
    }
    LoadConversionScript();
    }
    function updateQuota() {
    if (!quota) {
    return;
    }
    var now = (new Date()).getTime();
    var i;
    for (i = 0; i < CP.length; i++) {
    if (now < CP[i][0]) {
    break;
    }
    }
    if (i == 0) {
    setTimeout(updateQuota, 1000);
    } else if (i == CP.length) {
    quota.innerHTML = CP[i - 1][1];
    } else {
    var ts = CP[i - 1][0];
    var bs = CP[i - 1][1];
    quota.innerHTML = format(((now-ts) / (CP[i][0]-ts) * (CP[i][1]-bs)) + bs);
    setTimeout(updateQuota, 1000);
    }
    }

    var PAD = '.000000';

    function format(num) {
    var str = String(num);
    var dot = str.indexOf('.');
    if (dot < 0) {
    return str + PAD;
    } if (PAD.length > (str.length - dot)) {
    return str + PAD.substring(str.length - dot);
    } else {
    return str.substring(0, dot + PAD.length);
    }
    }
    var google_conversion_type = 'landing';
    var google_conversion_id = 1069902127;
    var google_conversion_language = "en_US";
    var google_conversion_format = "1";
    var google_conversion_color = "FFFFFF";
    function LoadConversionScript() {
    var script = document.createElement("script");
    script.type = "text/javascript";
    script.src = "https://www.googleadservices.com/pagead/conversion.js";
    }
    // -->
    </script>
    <script type="text/javascript">
    <!--
    FixForm();
    // -->
    </script>
    <script type="text/javascript" src="https://ssl.google-analytics.com/urchin.js"></script>
    <script type="text/javascript">
    _uacct="UA-992684-1";
    _utcp="/accounts/";
    _udn="google.com";
    _uRno[0]=".google.com";
    urchinTracker("/mail/gaia/homepage");
    urchinPathCopy("/mail/help/");
    </script>
    </body>
    </html>
    by Nat on Friday, 18 September 2009, 08:05 am #
  52. by-pass is to first login in www.gmail.com, and then GMail Checker will work fine, even if you have set several accounts or you close your page relative to www.gmail.com.
    by zarathosss on Saturday, 19 September 2009, 01:47 am #
  53. And a big Thanks for adding the "Mark as Read" in the menu. It'll be really helpful for me.

    Really great addon!
    by zarathosss on Saturday, 19 September 2009, 01:52 am #
  54. I'm trying out your Winged Calendar app to maybe use as an events calendar on a news site. Looks nice, but a couple issues.

    1. How do I put a url in an event so the user can go to the RSVP page? I tried href code, but it displays as code in the popup, not a link. Would like to add a thumbnail image for event, too.

    2. It's clutter that most users who can't edit the calendar see an [edit] control. Viewers shouldn't try to add an event either. How about separate interfaces for viewers and editors?
    by Robin Rowe on Monday, 9 November 2009, 06:27 pm #
  55. 1. Set $cal_cfg['html'] in config.php to 'true';
    2. There's no separate admin interface because I wanted to keep the script simple. I don't see any problem with the 'edit' link. It's just like a login box on a website that you can't log into.
    by NT on Tuesday, 10 November 2009, 10:28 am #
  56. Hey whatzup? hey your PHP gallery is good. it worked. but now dont work. the gallery dont show me the thubnails. and i have a php/GD2 Hosting enabled. thanks.
    by Zohar on Saturday, 5 December 2009, 10:51 pm #
  57. The news system may have a bug. If I write a long post, it displays OK on the news page. No problem there. But when I use RSS reader to read the content of news/rss.php, the RSS reader fails and is not able to read the content.

    I have tried this with several different RSS readers, including the ones like in IE8 by default. When I make the post shorter, then RSS reader can read the content.

    I have not made any changes to default code. Anyone else has this problem??
    by jarez on Friday, 8 January 2010, 04:02 pm #
  58. It was probably caused by memory limit. Try replacing rss.php with this file to see if it works.
    by NT on Friday, 8 January 2010, 05:05 pm #
  59. Thanks for such a quick reply NT. The solution you provided works - now both the news and the RSS reader in web browser works for me. Thank you so much for solving this!

    And sorry that I accidentaly posted this subject into gmailer comments.
    by jarez on Saturday, 9 January 2010, 10:31 am #
  60. The gmail notifier is great! One small change would be nice to allow each account to have it's own check interval. And maybe an option to allow popup to be persistent and not disappear.

    Other than that it is really super good stuff!!
    by don on Thursday, 21 January 2010, 07:24 pm #